# What changed in yuku-parser

> 32 changes in yuku-parser 0.19 to 0.20 from its official release notes, upgrade guides and advisories: 12 breaking, 1 security, 2 new APIs and options. Each one cited. Sources checked 2026-10-19. HTML: https://unstale.sh/npm/yuku-parser/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## yuku-parser 0.20

### Breaking changes

- yuku/types no longer exports Core. (0.20.0) — [release notes](https://github.com/yuku-toolchain/yuku/releases/tag/v0.20.0)
- The semantic traverser's Ctx.init now takes a mode. (0.20.0) — [release notes](https://github.com/yuku-toolchain/yuku/releases/tag/v0.20.0)
- Ctx.parentOf is removed. (0.20.0) — [release notes](https://github.com/yuku-toolchain/yuku/releases/tag/v0.20.0)
- The Zig build option -Dparser-extension is replaced by -Ddialect. (0.20.0) — [release notes](https://github.com/yuku-toolchain/yuku/releases/tag/v0.20.0)
- Node.js 16.4 or newer is required. (0.20.0) — [release notes](https://github.com/yuku-toolchain/yuku/releases/tag/v0.20.0)
- SymbolTracker.init now takes a mode. (0.20.0) — [release notes](https://github.com/yuku-toolchain/yuku/releases/tag/v0.20.0)
- Browsers need WebAssembly SIMD, such as Safari 16.4 or newer. (0.20.0) — [release notes](https://github.com/yuku-toolchain/yuku/releases/tag/v0.20.0)
- Yuku now ships as one package; install yuku and import from yuku, yuku/analyzer, yuku/ast, yuku/codegen, and yuku/types. (0.20.0) — [release notes](https://github.com/yuku-toolchain/yuku/releases/tag/v0.20.0)
- The yuku-core package is removed because everything runs on the WebAssembly module inside yuku. (0.20.0) — [release notes](https://github.com/yuku-toolchain/yuku/releases/tag/v0.20.0)
- The @yuku-core/binding-* native packages are removed because everything runs on the WebAssembly module inside yuku. (0.20.0) — [release notes](https://github.com/yuku-toolchain/yuku/releases/tag/v0.20.0)
- The @yuku-core/wasm package is removed because everything runs on the WebAssembly module inside yuku. (0.20.0) — [release notes](https://github.com/yuku-toolchain/yuku/releases/tag/v0.20.0)

### New APIs and options

- Dialects let you add custom syntax to the parser in Zig, match it to files by extension, and pass it to parse and analyze through the wasm option. (0.20.0) — [release notes](https://github.com/yuku-toolchain/yuku/releases/tag/v0.20.0)
- The wasm option lets parse and analyze receive dialects. (0.20.0) — [release notes](https://github.com/yuku-toolchain/yuku/releases/tag/v0.20.0)

### Performance

- generate is 12 to 17% faster with a source map, and 7 to 13% faster without one. (0.20.1) — [release notes](https://github.com/yuku-toolchain/yuku/releases/tag/v0.20.1)
- Parsing is 13 to 22% faster. (0.20.0) — [release notes](https://github.com/yuku-toolchain/yuku/releases/tag/v0.20.0)
- Repeated calls reuse memory, making batches that mix large and small files much faster. (0.20.0) — [release notes](https://github.com/yuku-toolchain/yuku/releases/tag/v0.20.0)
- semanticErrors is 29 to 49% cheaper because it skips the full semantic model. (0.20.0) — [release notes](https://github.com/yuku-toolchain/yuku/releases/tag/v0.20.0)

### Behavior and default changes

- unwrap from yuku/ast accepts any node, null, or undefined, and returns anything it does not unwrap as it is. (0.20.1) — [release notes](https://github.com/yuku-toolchain/yuku/releases/tag/v0.20.1)
- Yuku runs unchanged in Node.js, Bun, Deno, browsers, and Workers, with no setup before the first parse. (0.20.0) — [release notes](https://github.com/yuku-toolchain/yuku/releases/tag/v0.20.0)

### Fixes and other changes

- Parsing works on big-endian hosts such as s390x. (0.20.1) — [release notes](https://github.com/yuku-toolchain/yuku/releases/tag/v0.20.1)
- Yuku runs in Vercel's Edge Runtime, which loads it through the edge-light condition. (0.20.1) — [release notes](https://github.com/yuku-toolchain/yuku/releases/tag/v0.20.1)
- A for (init;;) head parses in correctly inside parentheses, literals, templates, functions, and classes. (0.20.1) — [release notes](https://github.com/yuku-toolchain/yuku/releases/tag/v0.20.1)
- generate keeps the braces in import type {} from "m", which previously printed as invalid import type "m". (0.20.1) — [release notes](https://github.com/yuku-toolchain/yuku/releases/tag/v0.20.1)
- generate keeps parentheses around a ++ or -- operand followed by a comment that breaks the line. (0.20.1) — [release notes](https://github.com/yuku-toolchain/yuku/releases/tag/v0.20.1)
- JSX text after a closing fragment parses, so `<p><>a</> — b</p>` works. (0.20.1) — [release notes](https://github.com/yuku-toolchain/yuku/releases/tag/v0.20.1)
- module.imports lists export {} from "m" as a side-effect import, and import() or require() of a parenthesized string or a template literal without substitutions. (0.20.1) — [release notes](https://github.com/yuku-toolchain/yuku/releases/tag/v0.20.1)
- Source maps map a JSX attribute's string value, and a string key that minifying prints as a name, to its own column. (0.20.1) — [release notes](https://github.com/yuku-toolchain/yuku/releases/tag/v0.20.1)
- super() in a computed key of a class inside a derived constructor no longer reports an error. (0.20.1) — [release notes](https://github.com/yuku-toolchain/yuku/releases/tag/v0.20.1)
- TypeScript overloads of a private method no longer report a duplicate private name. (0.20.1) — [release notes](https://github.com/yuku-toolchain/yuku/releases/tag/v0.20.1)

## yuku-parser 0.19

### Breaking changes

- Using Yuku as a Zig package now requires Zig 0.17.0 or later, so upgrade Zig before updating. (0.19.0) — [release notes](https://github.com/yuku-toolchain/yuku/releases/tag/v0.19.0)

### Security

- Parsing an empty source now works correctly in runtimes like WebContainers, where leftover bytes could be read as input. (0.19.0) — [release notes](https://github.com/yuku-toolchain/yuku/releases/tag/v0.19.0)

### Behavior and default changes

- generate prints any single node, such as an object property, rather than only a whole Program. (0.19.0) — [release notes](https://github.com/yuku-toolchain/yuku/releases/tag/v0.19.0)
