Hexana 0.9.x Release Notes¶
Current line: 0.9.1, released 2026-05-20. Initial 0.9 release: 2026-05-07.
What's new in 0.9.1¶
Released 2026-05-20. Patch release on top of 0.9.
Added¶
.witand.wasmexports in Goto Symbol / Search Everywhere → Symbols..witdeclarations (interfaces, worlds, functions, types) and Component Model exports are now indexed alongside regular.wasmmodule exports. Picking a.wasmexport opens the containing binary and selects the matching row in the Exports tab.
Changed¶
- Build toolchain bumped to Java 21 for the plugin's compile target, aligning with the IntelliJ Platform 2024.3+ baseline. No behaviour change for users on supported IDE builds.
- IntelliJ Driver dependency updated to
261.22158.277for the UI-driver test slice (does not affect the shipped plugin).
What's new in 0.9¶
Released 2026-05-07.
Added¶
- Experimental WASM debugging. Set breakpoints in the WAT view and step through execution using Wasmtime or WAMR. Requires LLVM 22.1 or newer; uses
lldbunder the hood. Works only with targets that are debuggable throughlldb(typically Rust, C/C++, and Emscripten builds with debug symbols). Seerun-and-debug.md. - WAMR runtime support — added as a third runtime option alongside Wasmtime and GraalVM. WAMR supports both run and debug.
- Custom GraalVM home directory — Settings → Build, Execution, Deployment → WASM Runtime now accepts a path to an external GraalVM installation that includes GraalWasm. Previously only the bundled Graal was used.
- Information bar above the editor showing the file size (hover for per-section breakdown), module kind (core vs. component), and Run / Debug buttons.
- 'Top' tab UX improvements — column headers, sortable columns, and scrolling.
- Nested-module back-reference — when you open a
.wasmthat is a nested module inside a component, the information bar shows a link back to the containing module. - Java completion and inspections for Chicory (#22) —
com.dylibso.chicory.*API. Seejava-integration.md. - Java completion and inspections for GraalWasm (#20) —
org.graalvm.polyglot.*API. Seejava-integration.md.
Recent prior releases (for context)¶
0.8.2 — 2026-04-30¶
Added:
- Legacy Exception Handling support (#85) — try, catch, throw, rethrow, delegate, catch_all.
- WAT / MCP rendering for reference-types and bulk-memory instructions.
Fixed:
- Run configurations now work on Windows.
- WASM parser fixes for vector and table sections.
- Element segment type 6 reads the reference-type per WebAssembly 3.0 §5.5.12 (clarified 2026-04-24).
- Data race on shared CommonByteBuffer that caused sporadic UnParsedOpcodeException.
0.8.1 — 2026-04-23¶
- Minor bug fixes and improvements.
0.8 — 2026-04-21¶
Added:
- Code-Size Profiler for WebAssembly Binaries (#70).
- DWARF section detection and parsing (#49).
- Explorer integration (#52).
- Source mapping via DWARF (#48).
- JS interop — code completion and type inference for instance.exports (#18).
- JS interop — code completion of namespaces and property names for imports (#17).
- Run configurations for WASM — run with Wasmtime or GraalVM (#69).
Changed: - MCP tool descriptions optimised.
Fixed:
- IJPL-242167 IAE: WasmModuleKt.fromSections via WasmIndex.
- ClassCastException in WitStaticFuncItemMixin.
0.7.1 — 2026-04-09¶
Fixed:
- IJPL-242167 IAE: WasmModuleKt.fromSections via WasmIndex.
- WASM/WAT files via http (local debug scenario) (#79).
- Unbalanced tree in WAT parsing (#78).
- Empty ranges in WIT folding (#80).
- Editor control in the WAT tab now handles IDE zoom (#81).
- Text selection in both hex and text panels with arrow-key support (#82).
- Big WAT files displayed in an editor with line numbers, selection, search, scrolling (#83).
0.7 — 2026-03-31¶
Added: - WAT offsets-based line numbers (#35). - Search in table view for imports / exports / functions (#7).
Changed: - WIT: basic editing experience (keyword completion, code formatting). - Table UX improvements for imports/exports/functions: arrow-key navigation, scrolling, layout fixes.
Fixed: - KDoc issues when Hexana is enabled (#67). - Shared limit support for memory type added. - NIE on reading Go WASM module (#77).
Upgrading to 0.9¶
No breaking changes from 0.8.x.
- Run configurations created with 0.8 continue to work; you may want to set WAMR as your default runtime if you need debug support.
- If you have a custom GraalVM installation you previously couldn't use, configure it in Settings → Build, Execution, Deployment → WASM Runtime.
- The Java-side completion features activate automatically in IDEs that include the Java module.
Known limitations in 0.9¶
- Debug requires LLVM 22.1 or newer and works with Wasmtime + WAMR only. GraalVM debug is not yet supported.
- Java integration covers Java sources only. Kotlin source support is not yet wired.
- Quick-fixes are not yet wired on the WebAssembly Java inspections or the WIT inspections.