Skip to content

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

  • .wit and .wasm exports in Goto Symbol / Search Everywhere → Symbols. .wit declarations (interfaces, worlds, functions, types) and Component Model exports are now indexed alongside regular .wasm module exports. Picking a .wasm export 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.277 for 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 lldb under the hood. Works only with targets that are debuggable through lldb (typically Rust, C/C++, and Emscripten builds with debug symbols). See run-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 .wasm that 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. See java-integration.md.
  • Java completion and inspections for GraalWasm (#20) — org.graalvm.polyglot.* API. See java-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.