Skip to content

Releases: WebAssembly/wasi-sdk

wasi-sdk-14

19 Nov 00:24
Compare
Choose a tag to compare

wasi-sdk-13 accidentally included an older version of LLVM. This
release corrects the error, and fixes a packaging error on Windows.

wasi-sdk-13

17 Nov 20:24
Compare
Choose a tag to compare
  • Update to the LLVM 13.0 release.

wasi-sdk-12

03 Dec 00:59
b36c433
Compare
Choose a tag to compare

wasi-sdk changes since wasi-sdk-11:

  • Build and test SDK without requiring root (sudo) access (#143)
  • Drop support for LLVM 8.0 (#151)
  • Update to LLVM 11.0 (#110)
  • Build windows SDK with MSVC instead of gcc (#164)
  • Update how wasi-sdk uses cmake (#161)
  • fix deb build (#167)

wasi-libc changes since wasi-sdk-11:

wasi-sdk-11

04 Jun 04:14
ceabbfe
Compare
Choose a tag to compare

wasi-sdk changes since wasi-sdk-10:

  • Test signals (#140)
  • pull in wasi-libc in prep for release 11 (#141)
  • Add a basic mmap and munmap testcase. (#137)
  • Remove branch from LLVM submodule (#136)
  • Honor $CC and $CXX in test runner (#132)
  • update links to wasm org, avoid github redirect (#130)
  • Fix windows SDK builds (#126)
  • Update name of github artifact upload after #123 (#124)
  • Build against ubuntu xenial (#123)

wasi-libc changes since wasi-sdk-10:

  • Avoid calling poll_oneoff with zero subscriptions. (#162)
  • Merge the basics component into libc-bottom-half. (#199)
  • Rewrite the preopen functionality. (#173)
  • Replace old <signal.h> support with emulated <signal.h> support. (#183)
  • Reactor support. (#74)
  • Make mmap() possible to use in a conformant way. (#197)
  • Make munmap() actually work. (#198)
  • CI: use llvm 10.0.0 release (#194)
  • github ci: download llvm over https, add -L flag to curl

Note: The artifact wasi-sdk_11.0_amd64.deb is identical to wasi-sdk_11.0_amd64_ubuntu16.04.deb. In the future we will only upload the deb built on Ubuntu 16.04, and not include the _ubuntu16.04 suffix. See #142

wasi-sdk-10

09 Apr 00:31
6b453df
Compare
Choose a tag to compare

wasi-sdk-10 is a replacement for wasi-sdk-9. Changes are given against the last good release, wasi-sdk-8.

This release is the first release targeting WASI Snapshot 1, and the first release since the repository was moved under the WebAssembly org.

SDK Changes:

  • switch CI from Azure Pipelines to GitHub Actions
  • Add a test suite
  • Use LLVM 10.0.0 release
  • Strip symbols from executables
  • Add beginner-level documentation for installation and use
  • Add LICENSE file, "Apache-2.0 WITH LLVM-exception"
  • move home to WebAssembly org
  • test Docker build in CI

libc changes:

CI: use llvm 10.0.0 release (#194)
github ci: download llvm over https, add -L flag to curl
Added utime.h (#188)
regenerate api.h
gen-headers: make handle output consistient with prior
wasi submodule: point to latest (witx 0.8.5 release)
Update libc-top-half/musl/README
Update URL
Fix references to musl version
Makefile refactoring; NFC (#186)
Lazy-initialize the environment variables. (#184)
Fix -std=gnu17 when generating predefined_macros.txt (#187)
Mention libcxx and libcxxabi too.
Update WASI Libc's README.md.
Multi-license wasi-libc under Apache and MIT licenses. (#174)
Add support for `__main_argc_argv`.
Update to musl 1.2.0.
Update to musl 1.1.24.
point at WASI with tagged unions merged into master
rebased wasi repo branch
main: get more useful help by requiring subcommand
minor change in union AST in wasi- tag is namedtype
libc: change to flattened event struct
update to WASI where snashot event_u flattened to struct
cloudlibc & libpreopen: changes for tagged unions
wasi/api.h: regenerated with tagged unions
WASI: tagged unions PR wip
wasi-headers: unions are tagged now
Define a_clz_32 for musl so that it doesn't use a software version. (#171)
WASI libc supports environment variables; update the README. (#172)
Remove unused cloudlibc headers. (#170)
fix macos filename, use https
CI: upgrade to llvm 9.0.0
remove no-self-update workaround for windows azure
deprecate azure pipelines CI, build libc on GH Actions
Don't call `free` on paths which are about to call `_Exit`. (#161)
gen-headers: Generate assertions of layout from witx (#149)
Correct minor typo in c_headers.rs (#166)
Convert more wasi-libc code to `//`-style comments. (#153)
Improvements to wasi-headers tool (#160)
Fix environment variable init to exit successfully. (#159)
Move math source files. (#151)
Avoid using cast expressions in WASI API constants. (#148)
Update signal macros after upgrade to snapshot1 (#144)
github actions: pin checkout action to v1 (#145)
Use constructor functions for optional init routines. (#142)
c header generation updated for reorganized witx ast (#139)
Correct the version of #136 on master (#141)
Wasi snapshot preview1 (#140)
Ignore rights in libpreopen. (#129)
Make the `__original_main` definition weak, fixing -flto. (#138)
Optimize `fmin`, `fmax`, etc. (#120)
Don't pre-check capabilities in `openat`. (#130)
Use consistent style for wasi-libc C source files. (#131)
Fix unintended recursion in __wasilibc_register_preopened_fd. (#133)
Avoid a `strdup` call in `__wasilibc_populate_libpreopen`. (#128)
Don't link in libpreopen initialization code when it isn't needed. (#127)
Temporarily disable the use of `__heap_base`. (#132)
Use __heap_base by dlmalloc (#114)
Avoid varargs conventions when calling open (#126)
Revamp and simplify the libpreopen code. (#110)
Remove more unsupported headers. (#123)

redacted release: wasi-sdk-9

07 Apr 05:05
d5e91f6
Compare
Choose a tag to compare
Pre-release

Breaking changes:

  • This is the first release based on WASI snapshot 1.
  • The linux build wasi-sdk-9.0-ubuntu18.04.tar.gz requires Ubuntu 18.04. wasi-sysroot and the clang builtins can still be installed on any system already shipping with LLVM >= 8.
  • Due to regressions this release has been redacted, we will release wasi-sdk-10 shortly to take its place

wasi-sdk-8

31 Oct 17:47
a944460
Compare
Choose a tag to compare

Note: Path names within the wask-sdk tar archive no longer contain opt/wasi. This means that paths to WASI tools will all be shorter, but build scripts will need to be updated accordingly.

In this release, wasi-libc includes optimizations to avoid linking in command-line argument initialization code in programs that don't use command-line arguments (eg. `int main(void)), and similar to avoid linking in environment-variable initalization code in programs that don't access environment variables.

And, the wasi-sdk installation now includes common tools such as nm, ar, strings, and others.

wasi-sdk-7

02 Oct 19:03
Compare
Choose a tag to compare

Changes to wasi-libc 8df0d4c..c9a5733:

Set the MALLOC_ALIGNMENT to 16.
When checking undefined symbol list, ignore certain llvm buildins
Fix a warning about a spurious redundant static keyword.
Update docs to say "libc" rather than "sysroot" where applicable.
WASI libc's dirent does have t_type, so define _DIRENT_HAVE_D_TYPE.
Fix DIRENT_HAVE_D* macros.
Disable the lseek optimization in C++.
Add Azure Pipelines definition (#78)
Update to musl 1.1.23.

Changes to llvm:

use release tag llvmorg-9.0.0

Changes to wasi-sdk:

Documentation updates

wasi-sdk-6

05 Aug 20:46
5e25836
Compare
Choose a tag to compare

llvm changes: use 8.0.1 release
wasi-libc changes: renamed from wasi-sysroot

    Fix predefined macros check after recent clang change
    Don't declare `realpath` or pseudo-terminal functions.
    Update title in README.md
    Ensure argv is null terminated.
    Don't declare popen and pclose.
    Don't install <sys/xattr.h>, which isn't supported on WASI.
    Remove more declarations for symbols that aren't defined.
    Don't declare lockfile and timezone functions.
    Implement truncate(2).
    Add complex builtins for creal and cimag too.
    Use builtin functions rather than portable libm implementations.
    Don't create dummy libs for libc++/libc++abi (#68)
    Implement more functions, remove more unimplemented headers.
    Move the mode_t macros into their own header.
    Define O_TTY_INIT.
    Update to libpreopen 8835639f27fc42d32096d59d294a0bbb857dc368.
    Fix fmemopen and friends to use the correct SEEK_* values.
    Use the compiler's real/imag operators instead of union type punning.
    Remove __fpclassify and __signbit definitions.
    Use the compiler builtins for isless etc.
    Move the SEEK_* macros into their own header and use it from fcntl.h.
    Switch from the cloudlibc inet_pton etc. to the musl versions.
    Don't declare dup in unistd.h.
    Re-enable '%s' in strftime.
    Rename __wasilibc_rmfileat to __wasilibc_unlinkat.
    Add __restrict qualifiers to the fstatat declaration.
    Ensure that `environ` is always initialized.
    Fix the return value of the first call to uselocale.
    Move abort.c out of libc-bottom-half and into basics.
    Document that WASM_NM and WASM_AR may also be required
   use ENOMEM instead of EINVAL, set EINVAL if length == 0
    move to __builtin_add_overflow
    code deduplication
    fix comment to correspond existing coding style
    fix mmap overflow and some other stuff

sdk changes:

    llvm project: use tag llvmorg-8.0.1 (#50)
    Update wasi-libc submodule
    Add Azure Pipelines configuration for Linux and macOS
    Use *_LIBDIR_SUFFIX cmake configs to implement multi-arch.
    Use $(MAKE) to building wasi-libc to inherit -j flag (#44)
    Use ninja generator when using cmake (#42)
    Roll wasi-libc to get compatibility with llvm-9
    Don't pass `-j` files to sub-`make` (#40)
    Disable -fPIC for compiler-rt and libc++abi
    Rename sysroot to wasi-sysroot.
    Update to latest wasi-libc (formerly wasi-sysroot) and llvm 8.0.1.
    Update to the latest LLVM release/8.x release branch
    Enable LIBCXXABI_SILENT_TERMINATE for libc++abi.

wasi-sdk-5

02 May 23:25
Compare
Choose a tag to compare

wasi-sysroot changes:

Makefile: Don't mix phony targets with directory names
delete a space in predefined-macros.txt
replace some macros with its builtins analogs
rename printf_no_Lf to __small_printf
Define TIME_UTC to be 1.
Define CLOCKS_PER_SEC to have type clock_t.
Optimize lseek in the `tell` case.
Say "wasm32-wasi" rather than "wasm32-unknown-wasi".
Declare getentropy in <sys/random.h>
Disable unused fields in FILE and __libc.
Add vfwprintf.c to the printscan list.
Implement FD_SET, FD_CLR, etc.
Remove capsicum.h; WASI libc doesn't support that API, even internally.
Make calloc set ENOMEM when failing due to overflow.
Make the strerror message for ESUCCESS (0) be "Success".
Implement reallocarray.
Update README.md
Add missing asctime symbol
Fix floatscan no long double usage (#21)
Remove the Linux-specific <sys/signalfd.h> header.
Declare getrusage.
Format changes to musl code to fit musl's style.
Fixes #20
gitignore build

sdk changes:
Say "wasm32-wasi" instead of "wasm32-unknown-wasi" in wasi-sdk.
Distribute versions of config.sub and config.guess with wasm and wasi
support. Fixes #16.

Create a tarball of the clang-rt builtins in tar_from_installation.sh
These builtins are required to use WASI with an existing clang
installation.