0.17.0-alpha.1 (2026-03-27)
Features:
- [Memory64]
- feat: initial support of wasm memory64 proposal
- feat(misc): introduce addr_t for address type
- feat: completion of wasm memory64 proposal in interpreter
- feat(compiler): implement memory64 proposal in AOT/JIT
- feat(api): introduce limit context to replace limit struct
- feat(misc): remove the addr_t type and use uint64_t instead
- [CAPI]
- feat(runtime): add registerModule with alias name across API layers
- [Component Model]
- feat(validator): add ComponentName class and parsing logic
- feat(validator): enhance component name handling with duplicate name checks
- feat(validator): implement AddImportedName logic in ComponentContext
- feat(component,loader): complete the loader implementation of canonical
- [WASI-NN]
- [Tools]
- feat(cli): add CLI option to control logging level (#4525)
- [Misc]
Fixed issues:
- [CAPI]
- fix(api): add noexcept to all C API functions
- fix(api): add exception handlers at C API boundary
- fix(api): guard WasmEdge_StringCopy against null Buf (#4686)
- [Component Model]
- [Validator]
- fix(validator): wrong jump end offset of try_table
- fix(validator): handle unreachable type in ref.test/ref.cast validation (#4669)
- [Loader]
- fix(loader): handle try_table catch flag syntax (#4676)
- [Executor]
- fix(executor): move WaiterMap from Executor to MemoryInstance
- fix(executor): preserve nullability for externalized refs in ref.test/ref.cast (#4679)
- fix(executor): use memmove semantics for same-memory memory.copy (#4671)
- fix(executor): preserve heap type when externalizing references (#4536)
- fix(executor): synchronize HostFuncHandler callback invocation (#4508)
- fix: correct memory.init error log logic (#4582)
- fix: only memory address apply the uint64_t, the indices of memories still are uint32_t
- [AOT]
- [Tools]
- [WASI]
- [WASI-NN]
- [Plugin]
- [Docker]
- [Misc]
- fix(common): fix uint128 output for fmt on windows
- fix(misc): fix warnings on Windows clang-cl
Tests:
- feat(test): add thread and wait command support in spec tests
- test: add C-API boundary test for empty strings
- test(spec): combine component model spec tests into core spec test infrastructure
- test: support component-model spec test
- test(spec): update spec test suite to 2026/03/01
- test: apply the spec tests for memory64 proposal
- test: add component model fuzz testing (#4657)
Refactored:
- refactor(loader): trick for deducing the instruction class size
- refactor(runtime): adjust the boundary printing logic for error logging
- refactor(installer): handle shell login config by OS and distro (#4453)
- refactor(WASI-Crypto): deduplicate factory functions and OpenSSL BIO helpers (#4545)
Misc:
- docs: explain why ErrCode does not support parameterized messages (#4666)
- docs(roadmap): update roadmap for Q1/2026 (#4583)
- docs: add WasmEdge mentorship policy (#4519)
- docs: update CONTRIBUTING and PR template for the basic checks (#4538)
- chore(AI): provide AGENTS.md for the AI co-working toolchains (#4521)
- chore: add mentorship policy into the issue template (#4520)
- chore: add missing gitvote update from previous maintainer onboarding (#4493)
CI:
- [dependabot]
- ci(dependabot): bump github/codeql-action from 4.31.9 to 4.34.1
- ci(dependabot): bump codecov/codecov-action from 5.5.2 to 5.5.3 (#4737)
- ci(dependabot): bump actions/cache from 5.0.1 to 5.0.4
- ci(dependabot): bump cachix/install-nix-action from 31.9.0 to 31.10.1
- ci(dependabot): bump vedantmgoyal9/winget-releaser (#4721)
- ci(dependabot): bump dorny/paths-filter from 3.0.2 to 4.0.1 (#4718)
- ci(dependabot): bump actions/download-artifact from 8.0.0 to 8.0.1 (#4717)
- ci(dependabot): bump step-security/harden-runner from 2.14.0 to 2.16.0
- ci(dependabot): bump the docker group with 3 updates (#4697)
- ci(dependabot): bump the upload-and-download-artifact group with 2 updates (#4689)
- ci(dependabot): bump crazy-max/ghaction-chocolatey from 3.4.0 to 4.0.0 (#4652)
- ci(dependabot): bump docker/login-action from 3.6.0 to 3.7.0 in the docker group (#4605)
- ci(dependabot): bump actions/setup-python from 6.1.0 to 6.2.0 (#4555)
- ci(dependabot): bump actions/checkout from 6.0.1 to 6.0.2 (#4556)
- [Runner]
- ci(riscv): enable RISC-V cross-compilation CI (#4542)
- ci: guard reusable workflows and jobs to avoid empty matrix jobs (#4668)
- ci: optimize s390x workflow with apt cache and Ninja (#4645)
- ci: cache homebrew deps, lld (#4600)
- ci(windows): cache LLVM and remove redundant CMake configure for WASI-NN GGML (#4580)
- ci: fix Windows GGML performance by forcing Release build (#4578)
- ci: bump lineguard to 0.1.7 (#4627)
- ci: symbol exposure checking
- ci: update labeler.yml for some new categories (#4584)
- refactor(ci): optimize workflows (#4544)
Thank all the contributors who made this release possible!
Asmit Kumar Rai, Digo, Divyansh Khatri, hydai, Kajal Jotwani, Karan Lokchandani, Khushi-Singh, Lîm Tsú-thuàn, Meet Jain, Parship Chowdhury, Piyush Kumar, Samarth Jain, SANCHIT KUMAR, Sankalp Jha, Shen-Ta Hsieh(BestSteve), Sourav Kumar, SriramB, Tushar Gupta, Vikas_pal8923, Vishal Malyan, Wang-Yang, Li, Yi Liu, Yi-Ying He
If you want to build from source, please use WasmEdge-0.17.0-alpha.1-src.tar.gz instead of the zip or tarball provided by GitHub directly.