Skip to content

Releases: JuliaDebug/Cthulhu.jl

v3.0.0

18 Nov 23:55
8274a67

Choose a tag to compare

Cthulhu v3.0.0

Diff since v2.17.10

Cthulhu 3.0.0 marks a major redesign of its internals with respect to how downstream packages customize Cthulhu's introspection features for their own types. Previously, the interface was established on Compiler.AbstractInterpreter; now, it uses a dedicated Cthulhu.AbstractProvider interface type, with a clearer and more powerful interface. Documentation on the whole interface is accessible via ?AbstractProvider. The PRs introducing the breaking changes are #662, and its follow-up #677.

See the CHANGELOG.md for other details. The main breakages that users may encounter are the following:

  • The annotate_source configuration option was removed in favor of a view::Symbol configuration option, with the :source|:ast|:typed|:llvm|:native available views by default (more may be defined by providers).
  • The exception_type configuration option was renamed to exception_types for consistency with remarks.
  • The with_effects configuration option was renamed to effects for consistency with remarks and exception_types.
  • The inline_cost configuration option was renamed to inlining_costs, also for consistency reasons.
  • The interruptexc configuration option was removed. It used to control whether q exited (by throwing an InterruptException) or ascended, but now that backspace was added as a shortcut to ascend, we can now unconditionally exit with q (which actually matches its action description).

Merged pull requests:

  • Redesign downstream integration with Cthulhu (#662) (@serenity4)
  • TypedSyntax: Don't create empty children preemptively (#676) (@serenity4)
  • Split compiler integration to avoid duplicating Cthulhu when loading the compiler extension (#677) (@serenity4)

Closed issues:

  • TagBot isn't running properly (#657)
  • while printing on 1.12-rc3: ERROR: BoundsError: attempt to access 0-element Vector{JuliaSyntax.TreeNode{TypedSyntax.TypedSyntaxData}} (#675)

v2.17.10

02 Oct 06:23
6ce9a4d

Choose a tag to compare

Cthulhu v2.17.10

Diff since v2.17.9

Merged pull requests:

  • Remove use of outdated isempty(children(...)) pattern (#674) (@serenity4)

Closed issues:

  • VSCode terminal, 1.12.0-rc3, MethodError: no method matching iterate(::Nothing) (#673)

v2.17.9

30 Sep 16:01

Choose a tag to compare

Cthulhu v2.17.9

Diff since v2.17.8

Merged pull requests:

  • lookup: fix semiconcrete calls with annotate_types=true (#672) (@aviatesk)

v2.17.8

29 Sep 15:52
e84b3f4

Choose a tag to compare

Cthulhu v2.17.8

Diff since v2.17.7

v2.17.7

29 Sep 12:04
e12c683

Choose a tag to compare

Cthulhu v2.17.7

Diff since v2.17.6

Merged pull requests:

v2.17.6

03 Sep 16:07
d0c2af0

Choose a tag to compare

Cthulhu v2.17.6

Diff since v2.17.5

Merged pull requests:

v2.16.6

31 Aug 08:49
2a00279

Choose a tag to compare

Cthulhu v2.16.6

Diff since v2.16.5

This release has been identified as a backport.
Automated changelogs for backports tend to be wildly incorrect.
Therefore, the list of issues and pull requests is hidden.

v2.17.5

25 Aug 10:09

Choose a tag to compare

Cthulhu v2.17.5

Diff since v2.17.4

Merged pull requests:

Closed issues:

  • StackOverflow upon descending into (dynamic) invoke (#642)

v2.17.4

09 Jun 22:35
0b3bb20

Choose a tag to compare

Cthulhu v2.17.4

Diff since v2.17.2

Merged pull requests:

Closed issues:

  • UndefVarError: active_repl not defined in jupyter notebook (#450)
  • KeyError on nightly (#646)

v2.17.2

13 Apr 22:27
3df1208

Choose a tag to compare

Cthulhu v2.17.2

Diff since v2.17.1

Merged pull requests:

  • Adjust to .result -> .optresult change for OptimizationState (#634) (@serenity4)