wat
Rust parser for the WebAssembly Text format, WAT
1.257.1
37M downloads/mo
#1488 most downloaded on crates.io
bytecodealliance/wasm-tools
What this package is like to depend on
Last release 4 days ago
19 Aug 2026
Ships fairly regularly
a new release about every 2 weeks
Rarely documented
notes for 10 of 166 stable releases
2 versions withdrawn
withdrawn after publishing
10 years old
168 releases · first in 2016
24 releases in the last 12 months
see the full history below
Release timeline
168 releases · Sep 2016 to Aug 2026Releases
latest 60 of 168-
1.257.119 Aug 2026Release notes
Open source →What's Changed
- Restore the default for
component new --merge-imports-based-on-semverby @Lstarsky0 in #2611 - Release wasm-tools 1.257.1 by @github-actions[bot] in #2612
New Contributors
- @Lstarsky0 made their first contribution in #2611
Full Changelog: v1.257.0...v1.257.1
- Restore the default for
-
1.257.019 Aug 2026Release notes
Open source →What's Changed
- Enable wide-arithmetic/compact-imports by default by @alexcrichton in #2593
- Adjust TLS scheme for wasip3 to be more toolchain-agnostic by @alexcrichton in #2596
- Fix name conflicts with init-task wrappers by @alexcrichton in #2595
- add
mapsupport towit-dylibby @dicej in #2594 - Use u64 to track file offsets instead of usize by @WorldSEnder in #2573
- Refactor configuration of wit-component builders by @alexcrichton in #2597
- Add an option to encode components with
return_call_refby @alexcrichton in #2598 - Support importing memory in the main module in wit-component by @alexcrichton in #2599
- Add a way to have
wasm-tools composeprint no output by @alexcrichton in #2601 - Consolidate generated modules in
wit-componentinto one by @alexcrichton in #2600 - Fold the TLS get/set module into the shim module by @alexcrichton in #2604
- Generalize
__wasm_init_taskto a "task hook" by @alexcrichton in #2603 - Use
__wasm_task_hookforreallocoptions by @alexcrichton in #2605 - Expand wit-component's heuristic for context slot 1 by @alexcrichton in #2609
- Fall back to
cabi_reallocin the main module by @alexcrichton in #2606 - Release wasm-tools 1.257.0 by @github-actions[bot] in #2610
Full Changelog: v1.256.0...v1.257.0
-
1.256.010 Aug 2026Release notes
Open source →What's Changed
- Import a data symbol for
libdl.soby @alexcrichton in #2588 - feat(wit-parser): add more -not-found variants to
ResolveErrorKindby @mkatychev in #2589 - Release to OCI registry by @andreaTP in #2587
- Implement new handling of TLS base/symbols by @alexcrichton in #2590
- Release wasm-tools 1.256.0 by @github-actions[bot] in #2592
New Contributors
Full Changelog: v1.255.0...v1.256.0
- Import a data symbol for
-
1.255.030 Jul 2026Release notes
Open source →What's Changed
- Fix generating deeply nested WIT types in
wit-smithby @alexcrichton in #2576 - wasm-tools mutate: validate the input module before mutating by @SAY-5 in #2577
- link tag imports to exports instead of synthesizing tags by @dicej in #2580
- Fix folded branch hints by @vouillon in #2578
- support cooperative multithreading ABI in
wit_component::linkingby @dicej in #2581 - avoid calling
__wasm_init_taskmore than once ininitmodule by @dicej in #2582 - Support
__wasm_{g,s}et_{tls_base,stack_pointer}inwit-componentby @alexcrichton in #2584 - fix table resolution for
thread.new-indirectintrinsic calls by @dicej in #2585 - Release wasm-tools 1.255.0 by @github-actions[bot] in #2586
Full Changelog: v1.254.0...v1.255.0
- Fix generating deeply nested WIT types in
-
1.254.020 Jul 2026Release notes
Open source →What's Changed
- Reject out-of-range NaN payloads and bare type-index value types by @vouillon in #2563
- Implement upstream spec changes for component text syntax by @alexcrichton in #2562
- wasmparser: require result equivalence for
(on $t switch)handler by @vouillon in #2564 - Prevent unbounded recursion when parsing WITs by @alexcrichton in #2565
- Add a parse recurse limit to
wasm-waveby @alexcrichton in #2566 - wasm-metadata: Place a limit on decompression size by @alexcrichton in #2567
- Fix limiting 32-bit tables with
wasm-smithby @alexcrichton in #2569 - Validate component model type depth by @alexcrichton in #2570
- Fix requiring
reallocforasync-lowered results-with-pointers by @alexcrichton in #2572 - Call
__wasm_init_taskfor_initializehook by @alexcrichton in #2574 - Release wasm-tools 1.254.0 by @github-actions[bot] in #2575
New Contributors
Full Changelog: v1.253.0...v1.254.0
-
1.253.007 Jul 2026Release notes
Open source →What's Changed
- Limit the element count of fixed-length lists by @eyupcanakman in #2537
- wasmparser: Rename BinaryReaderError to Error by @lann in #2546
- fix: signature lowering for strings and lists on modules with 64bit memory by @christoph-dfinity in #2544
- json-from-wast: name emitted files after the output stem by @eyupcanakman in #2542
- Refactor
KebabStrto not require unsafe code by @alexcrichton in #2548 - Add CustomSectionReader -> BinaryReader conversion by @WorldSEnder in #2550
- wasmparser: Add Error::missing_wasm_feature by @lann in #2549
- fix: use ptr-sized type when returning via ptr indirection under memory64 by @christoph-dfinity in #2553
- Synchronize threading intrinsics with specification by @alexcrichton in #2554
- Remove
resource.drop asyncby @alexcrichton in #2552 - Initial work for
versionsuffixandexternal-idby @alexcrichton in #2555 - Make parsing errors downcastable by @PhoebeSzmucer in #2557
- Add
SourceMap::resolve_spanfor resolving global span locations by @PhoebeSzmucer in #2559 - Render error by @PhoebeSzmucer in #2560
- Support
external-idon more items by @alexcrichton in #2558 - Release wasm-tools 1.253.0 by @github-actions[bot] in #2561
New Contributors
- @christoph-dfinity made their first contribution in #2544
Full Changelog: v1.252.0...v1.253.0
-
1.252.012 Jun 2026Release notes
Open source →What's Changed
- Converge to unicode-ident and remove unicode-xid dependency by @Marcondiro in #2535
- wasm-smith: Allow limiting the size of const arrays by @alexcrichton in #2536
- fix(wit-encoder): only use serde attribute if serde is enabled by @MendyBerger in #2538
- Enable the
CM_ASYNCfeature by default by @alexcrichton in #2539 - fix(wit-parser)!: preserve docs on world interface imports/exports by @ricochet in #2540
- Release wasm-tools 1.252.0 by @github-actions[bot] in #2541
New Contributors
- @Marcondiro made their first contribution in #2535
Full Changelog: v1.251.0...v1.252.0
-
1.251.028 May 2026Release notes
Open source →What's Changed
- wit-parser: don't panic on a re-exported imported resource by @eyupcanakman in #2526
- Support components with custom page sizes by @anlavandier in #2524
- Fix grammar typo in wit-dylib README.md by @brettcannon in #2527
- wasm-wave: catch error in UntypedFuncCall::to_wasm_params by @pchickey in #2528
- wit-parser: add ItemName type and parser by @pchickey in #2529
- wasm-wave: parse wit ItemNames as UntypedFuncCall names by @pchickey in #2530
- wit-parser: rust docs for ItemName, and instance_name method doing the obvious by @pchickey in #2533
- Release wasm-tools 1.251.0 by @github-actions[bot] in #2534
New Contributors
- @brettcannon made their first contribution in #2527
Full Changelog: v1.250.0...v1.251.0
-
1.250.021 May 2026Release notes
Open source →What's Changed
- addr2line: echo input addresses back as given instead of hex by @eyupcanakman in #2521
- Simplify serde for wit-encoder func by @MendyBerger in #2522
- feat: (CM64) Validate 64bit
waitables by @michael-weigelt in #2514 - A few small things that were missing in
wasm-smith's Wasm GC support by @fitzgen in #2523 - Release wasm-tools 1.250.0 by @github-actions[bot] in #2525
Full Changelog: v1.249.0...v1.250.0
-
1.249.015 May 2026Release notes
Open source →What's Changed
- Add more snapshots for feature gate paths and fix a panic on @SInCE include by @PhoebeSzmucer in #2510
- Structured resolver errors by @PhoebeSzmucer in #2482
- update bumpalo by @maksimryndin in #2513
- wasmparser: add regression test for relocation_range overflow by @eyupcanakman in #2515
- Forbid mixing context types within a component by @alexcrichton in #2511
- Generate nominal interface/type ids in wit-component by @alexcrichton in #2516
- Use the 2024 edition for rustfmt in this workspace by @alexcrichton in #2517
- Require
asynctypes when lift/lower usesasyncby @alexcrichton in #2512 - Add
(implements "...")component name support by @ricochet in #2453 wasm-smith: Consume fuel for implicit loops by @fitzgen in #2519- Release wasm-tools 1.249.0 by @github-actions[bot] in #2520
New Contributors
- @maksimryndin made their first contribution in #2513
- @eyupcanakman made their first contribution in #2515
Full Changelog: v1.248.0...v1.249.0
-
1.248.028 Apr 2026Nothing published for this version
-
1.247.017 Apr 2026Nothing published for this version
-
1.246.203 Apr 2026Nothing published for this version
-
1.246.131 Mar 2026Nothing published for this version
-
1.246.031 Mar 2026Nothing published for this version
-
1.245.112 Feb 2026Nothing published for this version
-
1.245.010 Feb 2026Nothing published for this version
-
1.244.006 Jan 2026Nothing published for this version
-
1.243.003 Dec 2025Nothing published for this version
-
1.242.026 Nov 2025Nothing published for this version
-
1.241.214 Nov 2025Nothing published for this version
-
1.240.008 Oct 2025Nothing published for this version
-
1.239.009 Sep 2025Nothing published for this version
-
1.238.102 Sep 2025Nothing published for this version
-
1.238.026 Aug 2025Nothing published for this version
-
1.237.021 Aug 2025Nothing published for this version
-
1.236.114 Aug 2025Nothing published for this version
-
1.236.028 Jul 2025Nothing published for this version
-
1.235.013 Jun 2025Nothing published for this version
-
1.234.010 Jun 2025Nothing published for this version
-
1.233.003 Jun 2025Nothing published for this version
-
1.232.027 May 2025Nothing published for this version
-
1.231.023 May 2025Nothing published for this version
-
1.230.005 May 2025Nothing published for this version
-
1.229.017 Apr 2025Nothing published for this version
-
1.228.001 Apr 2025Nothing published for this version
-
1.227.107 Mar 2025Nothing published for this version
-
1.227.005 Mar 2025Nothing published for this version
-
1.226.019 Feb 2025Nothing published for this version
-
1.225.004 Feb 2025Nothing published for this version
-
1.224.105 Feb 2025Nothing published for this version
-
1.224.022 Jan 2025Nothing published for this version
-
1.223.105 Feb 2025Nothing published for this version
-
1.223.008 Jan 2025Nothing published for this version
-
1.222.105 Feb 2025Nothing published for this version
-
1.222.018 Dec 2024Nothing published for this version
-
1.221.305 Feb 2025Nothing published for this version
-
1.221.202 Dec 2024Nothing published for this version
-
1.221.102 Dec 2024Nothing published for this version
-
1.221.027 Nov 2024Nothing published for this version
-
1.220.105 Feb 2025Nothing published for this version
-
1.220.012 Nov 2024Nothing published for this version
-
1.219.205 Feb 2025Nothing published for this version
-
1.219.110 Oct 2024Nothing published for this version
-
1.219.008 Oct 2024Nothing published for this version
-
1.218.105 Feb 2025Nothing published for this version
-
1.218.030 Sep 2024Nothing published for this version
-
1.217.105 Feb 2025Nothing published for this version
-
1.217.010 Sep 2024Nothing published for this version
-
1.216.105 Feb 2025Nothing published for this version