github.com/wasilibs/wazerox@v0.0.0-20240124024944-4923be63ab5f/README.md (about) 1 _This repository is inactive. All features have been merged upstream. 2 It may return in the future if needing to experiment again, 3 but there is no expectation or plan for this._ 4 5 # wazerox: wazero extended with bleeding-edge features and likely bugs 6 7 [![WebAssembly Core Specification Test](https://github.com/wasilibs/wazerox/actions/workflows/spectest.yaml/badge.svg)](https://github.com/wasilibs/wazerox/actions/workflows/spectest.yaml) [![Go Reference](https://pkg.go.dev/badge/github.com/wasilibs/wazerox.svg)](https://pkg.go.dev/github.com/wasilibs/wazerox) [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) 8 9 [wazero][18] is a wonderful WebAssembly runtime for Go developers with a priority 10 on stability. This often means it can take time to add new incubating WebAssembly 11 features or completely non-standard ones - there is only so much a project can 12 take on. 13 14 wazerox is a fork with a priority on running code for the wasilibs organization. 15 The reality is much existing code out there requires features that are not 16 supported by current WebAssembly or WASI specifications. wazerox allows wasilibs 17 to continue to provide wrappers with zero usage of cgo. 18 19 The additions to wazero should be considered mostly be an implementation detail 20 of wasilibs libraries. If you have code that requires these extensions to execute, 21 it is OK to try wazerox, but do expect bugs and best-effort or non-existing support. 22 It is never a good idea to try this library before trying wazero and see if it 23 supports your binary, if it does, use wazero. 24 25 Current extensions include: 26 27 - [WebAssembly Threads][19] 28 - Stack checkpoint/restore for [wasix][20] exception handling 29 30 For further details on the runtime, read about [wazero][18]. 31 32 [1]: https://www.w3.org/TR/2019/REC-wasm-core-1-20191205/ 33 [2]: https://www.w3.org/TR/2022/WD-wasm-core-2-20220419/ 34 [4]: https://github.com/WebAssembly/meetings/blob/main/process/subgroups.md 35 [5]: https://github.com/WebAssembly/WASI 36 [6]: https://pkg.go.dev/golang.org/x/sys/unix 37 [7]: https://github.com/WebAssembly/spec/tree/wg-1.0/test/core 38 [8]: internal/engine/compiler/RATIONALE.md 39 [9]: https://github.com/wasilibs/wazerox/issues/506 40 [10]: https://go.dev/doc/devel/release 41 [11]: https://github.com/actions/virtual-environments 42 [12]: https://docs.docker.com/develop/develop-images/baseimages/#create-a-simple-parent-image-using-scratch 43 [13]: https://github.com/WebAssembly/WASI/blob/snapshot-01/phases/snapshot/docs.md 44 [14]: https://github.com/WebAssembly/spec/tree/d39195773112a22b245ffbe864bab6d1182ccb06/test/core 45 [15]: https://tetrate.io/blog/introducing-wazero-from-tetrate/ 46 [16]: https://wazero.io/community/users/ 47 [17]: https://github.com/wasilibs/wazerox/stargazers 48 [18]: https://github.com/tetratelabs/wazero 49 [19]: https://github.com/WebAssembly/threads 50 [20]: https://wasix.org/