Skip to content

Releases: AssemblyScript/assemblyscript

v0.9.0

26 Jan 00:20
Compare
Choose a tag to compare

Breaking changes

  • The explicit start function generated with --explicitStart has been renamed to _start (was __start) to match WASI.
  • The __setargc helper to set the number of arguments to a varargs call has been removed and replaced with an exported mutable global __argumentsLength. The loader has been updated accordingly.
  • For consistency, the loader's __getInt8Array etc. functions now copy, and new __getInt8ArrayView functions with the old behavior have been introduced.
  • The call_indirect builtin has been removed due to expected problems with closures.
  • Distribution files are now being built with ES2016 as the target, exposing ES classes instead of ES5 prototypes.

New features

  • Binaryen has AssemblyScript-specific optimization passes now targeting reference counting.
  • Optimization pass order is no longer inherited from Binaryen but has been customized to account for AS specifics.
  • Tables can now be exported using the --exportTable flag.
  • The implementations of the Math functions exp, exp2, log, log2 and pow have been replaced with faster variants.
  • New standard library functions: String#toUpperCase, String#toLowerCase, String#localeCompare. TypedArray#set
  • The stub runtime now exports the __reset helper to clear the heap externally.
  • Added support for the SIMD avgr_u family of instructions.
  • Updated the WASI implementation to wasi_snapshot (preview1).
  • The type of an array literal can now be inferred from its contents.
  • The compiler can now detect if the entire program is acyclic (no cyclic classes), omitting unnecessary parts of the GC in this case.

And, of course, lots of fixes.

v0.8.1

18 Nov 06:57
Compare
Choose a tag to compare
  • Reduced release dependencies to a minimum: binaryen and long
  • Added support for the SIMD min_s, max_s, dot_i16x8_s family of instructions
  • Fixed validation error on closure usage, now emits a proper diagnostic instead
  • Fixed issues with scoped anyref typed locals
  • Fixed definition of TypedArray.wrap
  • Added support for node-like resolution of compiler transforms
  • Fixed out of bound issues on Array[index] sets
  • Updated math implementation to match latest musl fixes
  • Removed unnecessary / broken loader dependencies

v0.8.0

08 Nov 05:05
Compare
Choose a tag to compare

Due to popular demand, this marks our first release of the standalone (non-prototype) compiler on npm.

Pre-runtime

05 Jun 21:13
Compare
Choose a tag to compare

This is the state before the new runtime functionality landed.