Skip to content

Releases: scalacenter/scala-debug-adapter

v4.2.1

05 Sep 11:18
b48d57c
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v4.2.0...v4.2.1

v4.2.0

08 Jul 08:00
29f5b52
Compare
Choose a tag to compare

What's Changed

  • Extract scala3-binary-decoder by @adpi2 in #720
  • Update scala3-compiler, scala3-library to 3.5.0-RC2 by @scala-center-steward in #724
  • Update scala3-compiler, scala3-library to 3.5.0-RC3 by @scala-center-steward in #725
  • Improved Performance of loadClassesByScalaName by @crt-31 in #727

Full Changelog: v4.1.1...v4.1.2

v4.1.1

21 May 08:22
88f30ba
Compare
Choose a tag to compare

What's Changed

Full Changelog: v4.1.0...v4.1.1

v4.1.0

08 May 12:44
ebbc5ff
Compare
Choose a tag to compare

What's Changed

  • Use presentationHint: subtle on skipped StackFrame to deemphasize it by @adpi2 in #686
  • Allow lookup of class members in parents by @iusildra in #679
  • Update Scala version by @adpi2 in #696
  • Rewrite Scala 2 expression compiler by @adpi2 in #701
  • Add Scala 2.13.14 by @adpi2 in #702
  • Fix #628: remove indent and -rewrite options when evaluating expression by @adpi2 in #703
  • [Expr Compiler] Fix casting qualifier of accessible member by @adpi2 in #705
  • improvement: Use existing file system when available and don't close it by @kasiaMarek in #704
  • Automatically close debug server after terminated event by @adpi2 in #706
  • [Scala 3 binary decoder] Cache decoded symbols by @adpi2 in #709
  • [sbt plugin] check if debugAdatperClassUpdates is defined by @adpi2 in #711

New Contributors

Full Changelog: v4.0.4...v4.1.0

v4.0.4

11 Mar 12:05
fdbebb9
Compare
Choose a tag to compare

What's Changed

Full Changelog: v4.0.3...v4.0.4

v4.0.3

05 Mar 08:26
32f4b67
Compare
Choose a tag to compare

What's Changed

Full Changelog: v4.0.2...v4.0.3

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