Skip to content

Releases: scalacenter/scala-debug-adapter

v3.0.9

08 Mar 14:24
Compare
Choose a tag to compare

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

v3.0.9-M1

08 Mar 14:16
Compare
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
Compare
Choose a tag to compare

What's Changed

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

v3.0.7

01 Feb 11:46
56afc99
Compare
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
Compare
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
Compare
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
Compare
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

v2.2.0

13 Jul 10:53
928ff52
Compare
Choose a tag to compare

Highlights

What's Changed

  • Implement expression evaluation for Scala 3 by @tdudzik in #197
  • Bump Scala 3 version by @tgodzik in #208
  • Improve Scala 3 evaluation: static objects and private fields by @adpi2 in #210
  • [Scala 3] Fix evaluate public and private methods in static objects by @adpi2 in #211
  • [Scala 3] Fix evaluate public and private fields of a class by @adpi2 in #214
  • Submit dependency graph to Github by @adpi2 in #216
  • [Scala 3] Fix evaluate overloaded private method by @adpi2 in #215
  • [Scala 3] Evaluation of private inner class by @adpi2 in #217
  • [Scala 3] Fix evaluation of shaded fields in inner classes by @adpi2 in #219
  • [Scala 3] Fix evaluation of nested methods by @adpi2 in #220
  • Scala 3 Fix evaluation involving captured variables by @adpi2 in #221
  • [Scala 3] Fix macro expansion in expression evaluation by @adpi2 in #222
  • Evaluate mutable variables by @adpi2 in #223
  • Evaluation of lazy val by @adpi2 in #224
  • Evaluate private members in parent class by @adpi2 in #226
  • Evaluation involving Enum by @adpi2 in #227
  • Evaluation involving value classes by @adpi2 in #228
  • [Scala 3] Improve evaluator error reporting by @adpi2 in #229
  • Remove -agentlib specified by user by @adpi2 in #231
  • Unbox result of evaluation if value class or primitive by @adpi2 in #230
  • Fix attach remote by @adpi2 in #232
  • Add Scala 2.13.6 and Scala 3.1.3-RC5 by @adpi2 in #234
  • Fix unmanaged jars in classpath by @adpi2 in #233
  • [Scala 3] Evaluate assignment to local variable by @adpi2 in #239
  • Fix eval local def in expession by @adpi2 in #242
  • Update to Scala 3.1.3 by @adpi2 in #247
  • [Scala 3] Fix evaluation of static Java method by @adpi2 in #248
  • [Scala 3] Fix evaluation of private field in trait by @adpi2 in #249
  • [Scala 3] evaluate expression on match or case def by @adpi2 in #250
  • Scala 3 evaluation of class def by @adpi2 in #252

Full Changelog: v2.1.0...v2.2.0

2.0.3

25 Sep 15:52
Compare
Choose a tag to compare

scala-debug-adapter

  • #104 Add support for JDK 17

2.0.2

17 Sep 14:44
Compare
Choose a tag to compare

scala-debug-adapter

The headline feature of this major release is expression evaluation for Scala 2.12 and 2.13.

  • #64 Introduce new SourceLookUpProvider by @adpi2
  • #68 Look up into JDK sources by @adpi2
  • #69 Expression Evaluator by @tdudzik
  • #70 Cross compilation of expression evaluator by @tdudzik
  • #76 Enable evaluation of variable's toString methods by @tdudzik
  • #95 Add timeout around expression compiler by @adpi2