github AssemblyScript/assemblyscript v0.10.0

latest releases: v0.26.7, v0.26.6, v0.26.5...
3 years ago

Breaking changes

  • Added a seed import (along abort and trace) for seeding the random number generator
  • Arrays no longer inherit from ArrayBufferView, but are now distinct
  • The loader API now more closely aligns with the WebAssembly API
  • Various compiler API changes (i.e. decoupled the parser from the program)
  • Classes initialized from object literals can no longer define a constructor
  • Moved examples from the main repo to their own repo
  • Modules now become validated by default (disable with --noValidate, --validate is gone)
  • Reworked memory options (added --noExportMemory, --initialMemory, --maximumMemory, with --sharedMemory now being a boolean flag)
  • Renamed the --asmjsFile command line option to --jsFile (alias: -j)

Improvements

  • Simplified WASI integration via import "wasi" (implements abort, trace, seed)
  • Implemented virtual overloading and interfaces (consider this minimal viable)
  • Reworked optimization pass pipeline / more aggressive inlining
  • Added support for Binaryen's lowMemoryUnused feature
  • Added --lowMemoryLimit option for embedded scenarios with less than one page of memory
  • Added support for StaticArray to the loader
  • Non-MVP types are now always present to aid conditional compilation (i.e. same source, with and without SIMD)
  • Added Array<T>#flat
  • Updated stdlib to Unicode 13.0.0
  • Added a --yes option to asinit to accept all prompts
  • Added memory.data to explicitly create static memory segments
  • Expose setArgumentsLength (for varargs calls) only when required
  • Added v128.pmin<T>, v128.pmax<T>, v128.abs<T>, v128.bitmask<T> incl. their respective inline-assembler variants

Relevant fixes

  • Fixed column numbers in diagnostics being off by one
  • Made asc respect absolute output paths
  • Fixed various issues with object literal compilation
  • Fixed WASI struct sizes to match the specification
  • Fixed default export issues

Don't miss a new assemblyscript release

NewReleases is sending notifications on new releases.