Skip to content

v3.0.0

Choose a tag to compare

@github-actions github-actions released this 18 Nov 23:55
· 2 commits to master since this release
8274a67

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)