Programs adopting approachable concurrency are single-threaded by default, which is ideal for scripts and UI code, and provide greater resilience for asynchronous code that accesses mutable state by running it on the caller's executor thread. When you want to ensure an async method is run on the concurrent thread pool instead of in the caller's context, you can use the @concurrent annotation. InfoQ previously covered approachable concurrency following its announcement at Apple's WWDC 2025, providing additional detail and context.
In GraalJS, a JavaScript language implementation built on GraalVM, GraalVM 25 enables source-phase imports from WebAssembly modules ( import source mod from "./mod.wasm") by default if the js.webassembly option is enabled and the js.source-phase-imports option is not set to false. ECMAScript 25 also is enabled by default. With GraalWasm, an open source WebAssembly runtime, Context.eval now returns a compiled (but not yet instantiated) module object, rather than a module instance.
In addition to expanding the capabilities of raw linear memories, support was added for a new form of storage that is managed by the Wasm runtime automatically. WasmGC is low-level; a compiler targeting Wasm can declare the memory layout of its runtime data structures in terms of struct and array types, plus unboxed tagged integers, whose allocation and lifetime are then handled by Wasm.