diff --git a/Cargo.toml b/Cargo.toml index 2b53403ff5..12a0fa9174 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmtime-cli" -version = "0.2.0" +version = "0.7.0" authors = ["The Wasmtime Project Developers"] description = "Command-line interface for Wasmtime" license = "Apache-2.0 WITH LLVM-exception" @@ -11,6 +11,7 @@ repository = "https://github.com/bytecodealliance/wasmtime" readme = "README.md" edition = "2018" default-run = "wasmtime" +publish = false [dependencies] # Enable all supported architectures by default. diff --git a/crates/api/Cargo.toml b/crates/api/Cargo.toml index 52ea623b76..5289480ebc 100644 --- a/crates/api/Cargo.toml +++ b/crates/api/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmtime" -version = "0.1.0" +version = "0.7.0" authors = ["The Wasmtime Project Developers"] description = "High-level API to expose the Wasmtime runtime" license = "Apache-2.0 WITH LLVM-exception" diff --git a/crates/debug/Cargo.toml b/crates/debug/Cargo.toml index e2fe97e32d..5231bcb93f 100644 --- a/crates/debug/Cargo.toml +++ b/crates/debug/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmtime-debug" -version = "0.2.0" +version = "0.7.0" authors = ["The Wasmtime Project Developers"] description = "Debug utils for WebAsssembly code in Cranelift" license = "Apache-2.0 WITH LLVM-exception" diff --git a/crates/environ/Cargo.toml b/crates/environ/Cargo.toml index ba58353593..ff2ebe1d33 100644 --- a/crates/environ/Cargo.toml +++ b/crates/environ/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmtime-environ" -version = "0.2.0" +version = "0.7.0" authors = ["The Wasmtime Project Developers"] description = "Standalone environment support for WebAsssembly code in Cranelift" license = "Apache-2.0 WITH LLVM-exception" @@ -15,6 +15,7 @@ edition = "2018" cranelift-codegen = { version = "0.50.0", features = ["enable-serde"] } cranelift-entity = { version = "0.50.0", features = ["enable-serde"] } cranelift-wasm = { version = "0.50.0", features = ["enable-serde"] } +wasmparser = "0.39.2" lightbeam = { path = "../lightbeam", optional = true } indexmap = "1.0.2" rayon = "1.2" diff --git a/crates/environ/src/lightbeam.rs b/crates/environ/src/lightbeam.rs index 23e1c013bb..e3ddb24f4f 100644 --- a/crates/environ/src/lightbeam.rs +++ b/crates/environ/src/lightbeam.rs @@ -10,7 +10,6 @@ use crate::cranelift::RelocSink; use cranelift_codegen::{ir, isa}; use cranelift_entity::{PrimaryMap, SecondaryMap}; use cranelift_wasm::{DefinedFuncIndex, ModuleTranslationState}; -use lightbeam; /// A compiler that compiles a WebAssembly module with Lightbeam, directly translating the Wasm file. pub struct Lightbeam; @@ -53,7 +52,7 @@ impl crate::compilation::Compiler for Lightbeam { &mut codegen_session, &mut reloc_sink, i.as_u32(), - &lightbeam::wasmparser::FunctionBody::new(0, function_body.data), + &wasmparser::FunctionBody::new(0, function_body.data), ) .expect("Failed to translate function. TODO: Stop this from panicking"); relocations.push(reloc_sink.func_relocs); diff --git a/crates/interface-types/Cargo.toml b/crates/interface-types/Cargo.toml index b37e883e3a..cef0a95dc3 100644 --- a/crates/interface-types/Cargo.toml +++ b/crates/interface-types/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmtime-interface-types" -version = "0.2.0" +version = "0.7.0" authors = ["The Wasmtime Project Developers"] description = "Support for wasm interface types with wasmtime" license = "Apache-2.0 WITH LLVM-exception" diff --git a/crates/interface-types/README.md b/crates/interface-types/README.md new file mode 100644 index 0000000000..a8350586f1 --- /dev/null +++ b/crates/interface-types/README.md @@ -0,0 +1,4 @@ +This crate implements a prototype of the wasm [interface types] proposal +for Wasmtime. + +[interface types]: https://github.com/WebAssembly/interface-types diff --git a/crates/jit/Cargo.toml b/crates/jit/Cargo.toml index e79b0e0af1..4626502131 100644 --- a/crates/jit/Cargo.toml +++ b/crates/jit/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmtime-jit" -version = "0.2.0" +version = "0.7.0" authors = ["The Wasmtime Project Developers"] description = "JIT-style execution for WebAsssembly code in Cranelift" license = "Apache-2.0 WITH LLVM-exception" diff --git a/crates/lightbeam/Cargo.toml b/crates/lightbeam/Cargo.toml index b63d8154a5..b3d0896826 100644 --- a/crates/lightbeam/Cargo.toml +++ b/crates/lightbeam/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lightbeam" -version = "0.0.0" +version = "0.7.0" authors = ["The Lightbeam Project Developers"] description = "An optimising one-pass streaming compiler for WebAssembly" license = "Apache-2.0 WITH LLVM-exception" @@ -9,7 +9,6 @@ readme = "README.md" categories = ["wasm"] keywords = ["webassembly", "wasm", "compile", "compiler", "jit"] edition = "2018" -publish = false [dependencies] smallvec = "1.0.0" diff --git a/crates/misc/py/Cargo.toml b/crates/misc/py/Cargo.toml index 8d8b008ce5..a0bb8caf6b 100644 --- a/crates/misc/py/Cargo.toml +++ b/crates/misc/py/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmtime-py" -version = "0.2.0" +version = "0.7.0" authors = ["The Wasmtime Project Developers"] description = "Python extension for Wasmtime" license = "Apache-2.0 WITH LLVM-exception" diff --git a/crates/misc/rust/Cargo.toml b/crates/misc/rust/Cargo.toml index 9dde6ff4a7..fcd607653c 100644 --- a/crates/misc/rust/Cargo.toml +++ b/crates/misc/rust/Cargo.toml @@ -1,10 +1,10 @@ [package] name = "wasmtime-rust" -version = "0.2.0" +version = "0.7.0" authors = ["Alex Crichton "] description = "Rust extension for Wasmtime" license = "Apache-2.0 WITH LLVM-exception" -categories = ["wasm", "rust"] +categories = ["wasm"] keywords = ["webassembly", "wasm"] repository = "https://github.com/bytecodealliance/wasmtime" readme = "README.md" diff --git a/crates/misc/rust/macro/Cargo.toml b/crates/misc/rust/macro/Cargo.toml index 9bce9079d9..2093ba7892 100644 --- a/crates/misc/rust/macro/Cargo.toml +++ b/crates/misc/rust/macro/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmtime-rust-macro" -version = "0.2.0" +version = "0.7.0" authors = ["Alex Crichton "] description = "Macro support crate for wasmtime-rust" license = "Apache-2.0 WITH LLVM-exception" diff --git a/crates/obj/Cargo.toml b/crates/obj/Cargo.toml index 06841e825d..d77ffb326c 100644 --- a/crates/obj/Cargo.toml +++ b/crates/obj/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmtime-obj" -version = "0.2.0" +version = "0.7.0" authors = ["The Wasmtime Project Developers"] description = "Native object file output for WebAsssembly code in Wasmtime" license = "Apache-2.0 WITH LLVM-exception" diff --git a/crates/runtime/Cargo.toml b/crates/runtime/Cargo.toml index 96b635a935..9b6409360a 100644 --- a/crates/runtime/Cargo.toml +++ b/crates/runtime/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmtime-runtime" -version = "0.2.0" +version = "0.7.0" authors = ["The Wasmtime Project Developers"] description = "Runtime library support for Wasmtime" license = "Apache-2.0 WITH LLVM-exception" diff --git a/crates/test-programs/Cargo.toml b/crates/test-programs/Cargo.toml index e60794b05d..09806f5176 100644 --- a/crates/test-programs/Cargo.toml +++ b/crates/test-programs/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "test-programs" -version = "0.0.0" +version = "0.7.0" authors = ["The Wasmtime Project Developers"] readme = "README.md" edition = "2018" diff --git a/crates/test-programs/wasi-tests/Cargo.toml b/crates/test-programs/wasi-tests/Cargo.toml index fe3d94267e..5e7c471b04 100644 --- a/crates/test-programs/wasi-tests/Cargo.toml +++ b/crates/test-programs/wasi-tests/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasi-tests" -version = "0.0.0" +version = "0.7.0" authors = ["The Wasmtime Project Developers"] readme = "README.md" edition = "2018" diff --git a/crates/wasi-c/Cargo.toml b/crates/wasi-c/Cargo.toml index dc7817d00a..bce0aa0c86 100644 --- a/crates/wasi-c/Cargo.toml +++ b/crates/wasi-c/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmtime-wasi-c" -version = "0.2.0" +version = "0.7.0" authors = ["The Cranelift Project Developers"] description = "WASI API support for Wasmtime" license = "Apache-2.0 WITH LLVM-exception" diff --git a/crates/wasi-common/Cargo.toml b/crates/wasi-common/Cargo.toml index 2a1dd54298..f6161d0021 100644 --- a/crates/wasi-common/Cargo.toml +++ b/crates/wasi-common/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasi-common" -version = "0.5.0" +version = "0.7.0" authors = ["The Wasmtime Project Developers"] description = "WASI implementation in Rust" license = "Apache-2.0 WITH LLVM-exception" diff --git a/crates/wasi-common/wasi-common-cbindgen/Cargo.toml b/crates/wasi-common/wasi-common-cbindgen/Cargo.toml index 416c11b3b0..f9ede49db7 100644 --- a/crates/wasi-common/wasi-common-cbindgen/Cargo.toml +++ b/crates/wasi-common/wasi-common-cbindgen/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasi-common-cbindgen" -version = "0.5.0" +version = "0.7.0" authors = ["Jakub Konka "] description = "Interface generator utilities used by wasi-common" license = "Apache-2.0 WITH LLVM-exception" diff --git a/crates/wasi-common/wig/Cargo.toml b/crates/wasi-common/wig/Cargo.toml index a08e01b495..046ceb6063 100644 --- a/crates/wasi-common/wig/Cargo.toml +++ b/crates/wasi-common/wig/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wig" -version = "0.1.0" +version = "0.7.0" authors = ["Dan Gohman "] description = "WebAssembly Interface Generator" license = "Apache-2.0 WITH LLVM-exception" diff --git a/crates/wasi-common/winx/Cargo.toml b/crates/wasi-common/winx/Cargo.toml index 381da2f644..e3ee6519fa 100644 --- a/crates/wasi-common/winx/Cargo.toml +++ b/crates/wasi-common/winx/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "winx" -version = "0.5.0" +version = "0.7.0" authors = ["Jakub Konka "] description = "Windows API helper library" license = "Apache-2.0 WITH LLVM-exception" @@ -12,7 +12,7 @@ bitflags = "1.0" cvt = "0.1" [dependencies.winapi] -version = "0.3" +version = "^0.3" features = [ "std", "errhandlingapi", diff --git a/crates/wasi/Cargo.toml b/crates/wasi/Cargo.toml index 2f39a3bbaf..7592a6b351 100644 --- a/crates/wasi/Cargo.toml +++ b/crates/wasi/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmtime-wasi" -version = "0.2.0" +version = "0.7.0" authors = ["The Cranelift Project Developers"] description = "WASI API support for Wasmtime" license = "Apache-2.0 WITH LLVM-exception" diff --git a/crates/wast/Cargo.toml b/crates/wast/Cargo.toml index 8898cddee6..30b71683a9 100644 --- a/crates/wast/Cargo.toml +++ b/crates/wast/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmtime-wast" -version = "0.2.0" +version = "0.7.0" authors = ["The Wasmtime Project Developers"] description = "wast testing support for wasmtime" license = "Apache-2.0 WITH LLVM-exception" diff --git a/fuzz/Cargo.toml b/fuzz/Cargo.toml index e3ceff2c63..15a63019dc 100644 --- a/fuzz/Cargo.toml +++ b/fuzz/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmtime-fuzz" -version = "0.0.0" +version = "0.7.0" authors = ["The Wasmtime Project Developers"] edition = "2018" publish = false @@ -11,9 +11,9 @@ cargo-fuzz = true [dependencies] wasmtime-environ = { path = "../crates/environ" } wasmtime-jit = { path = "../crates/jit" } -cranelift-codegen = { version = "0.49", features = ["enable-serde"] } -cranelift-wasm = { version = "0.49", features = ["enable-serde"] } -cranelift-native = "0.49" +cranelift-codegen = "0.50" +cranelift-wasm = "0.50" +cranelift-native = "0.50" libfuzzer-sys = { git = "https://github.com/rust-fuzz/libfuzzer-sys.git" } wasmparser = { version = "0.39.2", default-features = false, features = ["core"] } binaryen = "0.8.1" diff --git a/scripts/cargo-chill.sh b/scripts/cargo-chill.sh deleted file mode 100755 index 5ffa2953e4..0000000000 --- a/scripts/cargo-chill.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# This is a trivial wrapper around cargo which just forwards its arguments -# to cargo, and then sleeps for a few seconds, to allow for exteral services -# to update their indices. -# https://internals.rust-lang.org/t/changes-to-how-crates-io-handles-index-updates/9608 - -cargo "$@" -sleep 10 diff --git a/scripts/publish-all.sh b/scripts/publish-all.sh index edda971931..ae00756dcc 100755 --- a/scripts/publish-all.sh +++ b/scripts/publish-all.sh @@ -9,11 +9,13 @@ topdir=$(dirname "$0")/.. cd "$topdir" # All the wasmtime-* crates have the same version number -version="0.2.0" +version="0.7.0" # Update the version numbers of the crates to $version. echo "Updating crate versions to $version" -find -name Cargo.toml -exec sed -i.bk -e "s/^version = .*/version = \"$version\"/" {} \; +find -name Cargo.toml \ + -not -path ./crates/wasi-common/WASI/tools/witx/Cargo.toml \ + -exec sed -i.bk -e "s/^version = \"[[:digit:]].*/version = \"$version\"/" {} \; # Update our local Cargo.lock (not checked in). cargo update @@ -23,8 +25,41 @@ scripts/test-all.sh # # Note that libraries need to be published in topological order. +echo git checkout -b bump-version-to-$version echo git commit -a -m "\"Bump version to $version"\" echo git tag v$version -echo git push +echo git push origin bump-version-to-$version +echo "# Don't forget to click the above link to open a pull-request!" echo git push origin v$version -echo "find -name Cargo.toml -exec scripts/cargo-chill.sh publish --manifest-path {} \\;" +for cargo_toml in \ + crates/wasi-common/wasi-common-cbindgen/Cargo.toml \ + crates/wasi-common/winx/Cargo.toml \ + crates/wasi-common/wig/Cargo.toml \ + crates/wasi-common/Cargo.toml \ + crates/lightbeam/Cargo.toml \ + crates/environ/Cargo.toml \ + crates/obj/Cargo.toml \ + crates/runtime/Cargo.toml \ + crates/debug/Cargo.toml \ + crates/jit/Cargo.toml \ + crates/wast/Cargo.toml \ + crates/wasi-c/Cargo.toml \ + crates/wasi/Cargo.toml \ + crates/api/Cargo.toml \ + crates/interface-types/Cargo.toml \ + crates/misc/py/Cargo.toml \ + crates/misc/rust/macro/Cargo.toml \ + crates/misc/rust/Cargo.toml \ +; do + version="" + case $cargo_toml in + crates/lightbeam/Cargo.toml) version=" +nightly" ;; + crates/misc/py/Cargo.toml) version=" +nightly" ;; + esac + + echo cargo$version publish --manifest-path "$cargo_toml" + + # Sleep for a few seconds to allow the server to update the index. + # https://internals.rust-lang.org/t/changes-to-how-crates-io-handles-index-updates/9608 + echo sleep 10 +done diff --git a/scripts/test-all.sh b/scripts/test-all.sh index 12ec730704..d1b590f9bc 100755 --- a/scripts/test-all.sh +++ b/scripts/test-all.sh @@ -76,17 +76,18 @@ cargo doc # Note LSAN is disabled due to https://github.com/google/sanitizers/issues/764 banner "cargo fuzz check" if rustup toolchain list | grep -q nightly; then - if cargo install --list | grep -q cargo-fuzz; then - echo "cargo-fuzz found" - else - echo "installing cargo-fuzz" - cargo +nightly install cargo-fuzz - fi + # Temporarily disable fuzz tests until https://github.com/bytecodealliance/cranelift/issues/1216 is resolved + #if cargo install --list | grep -q cargo-fuzz; then + # echo "cargo-fuzz found" + #else + # echo "installing cargo-fuzz" + # cargo +nightly install cargo-fuzz + #fi - fuzz_module="1340712d77d3db3c79b4b0c1494df18615485480" - ASAN_OPTIONS=detect_leaks=0 \ - cargo +nightly fuzz run compile \ - "$topdir/fuzz/corpus/compile/$fuzz_module" + #fuzz_module="1340712d77d3db3c79b4b0c1494df18615485480" + #ASAN_OPTIONS=detect_leaks=0 \ + #cargo +nightly fuzz run compile \ + # "$topdir/fuzz/corpus/compile/$fuzz_module" # Nightly is available, so also run lightbeam's tests, which we # skipped earlier.