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/