Adds 1.0 release plan to README and site (#755)

Signed-off-by: Adrian Cole <adrian@tetrate.io>
This commit is contained in:
Crypt Keeper
2022-08-19 16:43:15 +08:00
committed by GitHub
parent 57a705e594
commit 109c9cb500
4 changed files with 18 additions and 12 deletions

View File

@@ -6,9 +6,10 @@ WebAssembly is a way to safely run code compiled in other languages. Runtimes
execute WebAssembly Modules (Wasm), which are most often binaries with a `.wasm`
extension.
wazero is a WebAssembly Core Specification [1.0][1] and [2.0][2] compliant runtime written in Go. It has
*zero dependencies*, and doesn't rely on CGO. This means you can run
applications in other languages and still keep cross compilation.
wazero is a WebAssembly Core Specification [1.0][1] and [2.0][2] compliant
runtime written in Go. It has *zero dependencies*, and doesn't rely on CGO.
This means you can run applications in other languages and still keep cross
compilation.
Import wazero and extend your Go application with code written in any language!
@@ -108,7 +109,8 @@ they may answer them for you!
There are two runtime configurations supported in wazero: _Compiler_ is default:
If you don't choose, ex `wazero.NewRuntime(ctx)`, Compiler is used if supported. You can also force the interpreter like so:
By default, ex `wazero.NewRuntime(ctx)`, the Compiler is used if supported. You
can also force the interpreter like so:
```go
r := wazero.NewRuntimeWithConfig(ctx, wazero.NewRuntimeConfigInterpreter())
```
@@ -123,14 +125,14 @@ for Go (such as `riscv64`).
Compiler compiles WebAssembly modules into machine code ahead of time (AOT),
during `Runtime.CompileModule`. This means your WebAssembly functions execute
natively at runtime. Compiler is faster than Interpreter, often by order of
magnitude (10x) or more. This is done while still having no host-specific
dependencies.
magnitude (10x) or more. This is done without host-specific dependencies.
If interested, check out the [RATIONALE.md][8] and help us optimize further!
### Conformance
Both runtimes pass WebAssembly Core [1.0][7] and [2.0][14] specification tests on supported platforms:
Both runtimes pass WebAssembly Core [1.0][7] and [2.0][14] specification tests
on supported platforms:
| Runtime | Usage| amd64 | arm64 | others |
|:---:|:---:|:---:|:---:|:---:|
@@ -146,8 +148,11 @@ wazero into their Go applications.
wazero is an early project, so APIs are subject to change until version 1.0.
We expect [wazero 1.0][9] to be at or before Q3 2022, so please practice the
current APIs to ensure they work for you!
Wazero 1.0 will have a floor Go version of 1.19. The first beta will be the
end of August 2022, and the final release will be after Go 1.20 is released,
in February 2023.
Meanwhile, please practice the current APIs to ensure they work for you!
### Go

View File

@@ -27,7 +27,7 @@ func main() {
// Create a new WebAssembly Runtime.
r := wazero.NewRuntimeWithConfig(ctx, wazero.NewRuntimeConfig().
// Enable WebAssembly 2.0 support, which is required for TinyGo 0.24+.
// WebAssembly 2.0 allows use of any version of TinyGo, including 0.24+.
WithWasmCore2())
defer r.Close(ctx) // This closes everything this Runtime created.

View File

@@ -43,7 +43,7 @@ func main() {
// Create a new WebAssembly Runtime.
r := wazero.NewRuntimeWithConfig(ctx, wazero.NewRuntimeConfig().
// Enable WebAssembly 2.0 support, which is required for TinyGo 0.24+.
// WebAssembly 2.0 allows use of any version of TinyGo, including 0.24+.
WithWasmCore2())
defer r.Close(ctx) // This closes everything this Runtime created.

View File

@@ -63,7 +63,8 @@ this:
go get github.com/tetratelabs/wazero@main
```
We expect [wazero 1.0][4] to be at or before Q3 2022, so please practice the
wazero will release its first beta at the end of August 2022, and finalize
1.0 once Go 1.20 is released in Feb 2023. Meanwhile, please practice the
current APIs to ensure they work for you, and give us a [star][5] if you are
enjoying it so far!