Skip to content

Releases: scalacenter/scala-debug-adapter

v3.1.2

15 May 08:17
44cdc61

Choose a tag to compare

Full Changelog: v3.1.1...v3.1.2

v3.1.1

11 May 11:28

Choose a tag to compare

Full Changelog: v3.1.0...v3.1.1

v3.1.0

10 May 15:13
241e060

Choose a tag to compare

What's Changed

  • Add documentation for releasing the full Scala Debug Adapter or a specific version of the Expression Compiler by @adpi2 in #385
  • Add unit-tests of ScalaStepFilterBridge.findSymbol by @adpi2 in #388
  • fix: made debugger recover from not found sources by @iusildra in #394
  • Evaluate expression asynchronously by @iusildra in #401
  • Fix #409: Run setup during the task execution by @adpi2 in #411
  • Update tasty-query to 0.7.7 by @scala-center-steward in #415
  • Refactor JDI wrappers by @adpi2 in #417
  • Try fix ObjectCollectedException by @adpi2 in #420
  • Skip configuration if noDebug in launchRequest by @adpi2 in #422

New Contributors

Full Changelog: v3.0.9...v3.1.0

v3.0.9

08 Mar 14:24

Choose a tag to compare

Full Changelog: v3.0.8...v3.0.9

v3.0.9-M1

08 Mar 14:16

Choose a tag to compare

v3.0.9-M1 Pre-release
Pre-release
Fix setup GPG secret key

v3.0.8

08 Mar 13:08
f5253ab

Choose a tag to compare

What's Changed

Full Changelog: v3.0.7...v3.0.8

v3.0.7

01 Feb 11:46
56afc99

Choose a tag to compare

This release is almost identical to the v3.0.6 release, but that one had a small issue that we hit on during the actual release process. Please refer to those notes for the actual changes v3.0.7 brings in.

What's Changed

  • fix: prepare for 3.0.7 by bumping java-debug by @ckipp01 in #376

Full Changelog: v3.0.6...v3.0.7

v3.0.6

26 Jan 16:03

Choose a tag to compare

What's Changed

  • Update README by @adpi2 in #362
  • fix: use event duration instead of whole suite result's duration when making a summary by @kpodsiad in #366
  • Register scala-debug-adapter_2.13 for publication by @adpi2 in #363
  • chore: add in 3.2.2 to the Scala 3 matrix by @ckipp01 in #372
  • chore: start releasing on RC candidates by @ckipp01 in #373
  • Add manual workflow to test and release any Scala version by @adpi2 in #374
  • Dont evaluate expression if there's no interpolation by @bryljaku in #349

New Contributors

  • @scala-center-steward made their first contribution in #348
  • @ckipp01 made their first contribution in #372
  • @bryljaku made their first contribution in #349

Full Changelog: v3.0.5...v3.0.6

v3.0.3

10 Nov 12:15

Choose a tag to compare

Highlights

Better Scala log-points

The message of a log point is now considered plain text. It also supports expression interpolation using Scala String interpolation syntax $foo or ${foo}.

image

Under the hood, the message is evaluated as an expression of the form println(s"""<message>""").

What's Changed

Full Changelog: v3.0.1...v3.0.3

v3.0.1

21 Oct 09:03

Choose a tag to compare

Highlights

Step filter in Scala 2 and Scala 3

The debugger now skips the methods that are generated by the compiler such as:

  • the mixin forwarders
  • the bridges
  • the accessors: getters and setters
  • the adapted methods (for-loop generators)
  • the synthetized methods of a case class or case object

This optimizes the debugging experience by only stepping in relevant places of the Scala execution.
It affects the step-in, the step-out and the breakpoints.

Example

Before: The debugger stops twice in the mixin-forwarders before jumping to user-written code.
before-step-filter

After: The debugger jumps directly to user-written code.
after-step-filter

Expression evaluator for Scala 3

The debugger can evaluate any Scala 3 expression during the execution of a Scala 3 source file.
scala3-expression-evaluator

Show returned value of a method call

The debugger shows the returned value after stepping out of a method.
return-value

Logpoints

You can add logpoints in your source file to print values at some execution steps of your program.
logpoint

Conditional breakpoints

You can add a boolean expression to a breakpoint so that it breaks in only if the condition is met.
conditional-breakpoint

Note: The breakpoint always breaks in if the expression does not return a boolean value or throws an exception.

Restart the top frame of the call stack

You can now restart the top frame of the call stack: the JVM will jump back to the beginning of the current method.
restart-top-frame

Note: This only works on the top frame. To restart a frame that is in the middle of the stack you can step out several times to return back to it and then restart it.

Skipping out of class loading

The JVM's calls to ClassLoader.loadClass are automatically skipped out. The user's breakpoints in the class loaders and the explicit calls to loadClass are never skipped out.

Contributors

Thank you to all contributors:

Merged PRs

Read more