Releases: JuliaDebug/Cthulhu.jl
v3.0.0
Cthulhu v3.0.0
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_sourceconfiguration option was removed in favor of aview::Symbolconfiguration option, with the:source|:ast|:typed|:llvm|:nativeavailable views by default (more may be defined by providers). - The
exception_typeconfiguration option was renamed toexception_typesfor consistency withremarks. - The
with_effectsconfiguration option was renamed toeffectsfor consistency withremarksandexception_types. - The
inline_costconfiguration option was renamed toinlining_costs, also for consistency reasons. - The
interruptexcconfiguration option was removed. It used to control whetherqexited (by throwing anInterruptException) or ascended, but now that backspace was added as a shortcut to ascend, we can now unconditionally exit withq(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:
v2.17.10
Cthulhu v2.17.10
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
Cthulhu v2.17.9
Merged pull requests:
v2.17.8
Cthulhu v2.17.8
v2.17.7
Cthulhu v2.17.7
Merged pull requests:
- update to JuliaSyntax 1.0 (#661) (@oscardssmith)
- Bump actions/checkout from 4 to 5 (#668) (@dependabot[bot])
v2.17.6
Cthulhu v2.17.6
Merged pull requests:
v2.16.6
Cthulhu v2.16.6
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
Cthulhu v2.17.5
Merged pull requests:
- Use unoptimized lookup if source is not available (#647) (@serenity4)
- use consistent preferences when the extension code is used (#649) (@aviatesk)
- CthulhuCompilerExt: initialize
CONFIGin__init__(#650) (@aviatesk) - Fix tests for nightly (#652) (@serenity4)
- Re-enable (and fix) terminal tests (#654) (@serenity4)
Closed issues:
- StackOverflow upon descending into (dynamic) invoke (#642)
v2.17.4
Cthulhu v2.17.4
Merged pull requests:
- Preserve
CallMetaresults during inference (#640) (@serenity4) - Adjust to
finishinfer!signature change (#641) (@serenity4) - Do not rely on
Base.active_repl(#643) (@serenity4) - restrict the Compiler.jl stdlib version to
0.1(#644) (@aviatesk) - Adjust to method table changes (#645) (@serenity4)
Closed issues:
v2.17.2
Cthulhu v2.17.2
Merged pull requests:
- Adjust to
.result->.optresultchange forOptimizationState(#634) (@serenity4)