Skip to content

Releases: scalacenter/scala-debug-adapter

v4.0.2

28 Feb 13:40
1ba2d3f
Compare
Choose a tag to compare

What's Changed

  • Fix Hot code replace by @adpi2 in #667
  • Store offset of computed frames to fix the Load More Stack Frames by @adpi2 in #671
  • Use DebugException to report user errors by @adpi2 in #674
  • fix #672: avoid GC on conditional breakpoint values by @adpi2 in #675
  • Update Scala versions by @adpi2 in #678

Full Changelog: v4.0.1...v4.0.2

v4.0.1

15 Feb 15:33
38111cb
Compare
Choose a tag to compare

What's Changed

Full Changelog: v4.0.0...v4.0.1

v4.0.0

13 Feb 09:01
4bfc0bc
Compare
Choose a tag to compare

Highlights

Pretty stacktraces (Scala 3 Only)

by @aymanelamyaghri and @adpi2

The Scala Debug Adapter can now decode binary methods to TASTy symbols and format them accordingly.

The pretty stacktraces contain:

  • source names instead of binary names (e.g., <= instead of $less$equal, or foo instead of example$Foo$foo)
  • original types before erasure (e.g., List[String] instead of List[Object], or String | Null instead of String)
  • lists of type parameters (e.g., [T])
  • lists of parameters, including implicit and using keywords (e.g. (xs: List[String])(using Context) instead of (xs: List[Object], evidence$1 : Context))
  • return types
  • Additional information for method that are generated by the compiler. (e.g., <lazy init>, <default 2>)

image

Runtime evaluator

by @iusildra and @adpi2

It allows evaluating Java-like expression in Scala and Java source files without using the compiler. It is faster, it can access private members, and it does not require casting to access members of runtime types.

The runtime evaluator can access variables and fields, it can assign values to them, it can call methods and it can create new instances.

The Scala Debug Adapter uses the runtime evaluator to evaluate simple expression and it falls back to the compiler-based evaluator to evaluate pure Scala expressions (overload resolution, pattern matching, lambda instantiation, implicit resolution, macro expansion etc).

Hot-code replace

by @iusildra and @adpi2

The hot-code replace feature allows to change the behavior of a running program. It is now possible to change the body of a method, and to reload it in the debugged program. After the hot-code replacement, any call to the modified method will execute the new implementation, even on former instances of the changed class.

This feature is particularly useful to track a bug and fix it in a single debug session.

image

New Contributors

What's Changed

Read more

v3.1.6

25 Jan 09:19
31abd9e
Compare
Choose a tag to compare

What's Changed

Full Changelog: v3.1.5...v3.1.6

v3.1.5

20 Nov 08:10
d52fa45
Compare
Choose a tag to compare

What's Changed

Full Changelog: v3.1.4...v3.1.5

v3.1.4

06 Sep 06:58
77c9e75
Compare
Choose a tag to compare

What's Changed

Full Changelog: v3.1.3...v3.1.4

v3.1.3

22 May 12:13
5bd19c6
Compare
Choose a tag to compare

What's Changed

  • Fix breakpoint in local object by @adpi2 in #431

Full Changelog: v3.1.2...v3.1.3

v3.1.2

15 May 08:17
44cdc61
Compare
Choose a tag to compare

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

v3.1.1

11 May 11:28
Compare
Choose a tag to compare

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

v3.1.0

10 May 15:13
241e060
Compare
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