Skip to content

Releases: AssemblyScript/assemblyscript

v0.12.1

17 Jun 00:26
f81250a
Compare
Choose a tag to compare

0.12.1 (2020-06-17)

Bug Fixes

  • Fix compiler-internal UTF-8 encoding & decoding helpers (#1345) (4ed8acb)

v0.12.0

15 Jun 00:26
6dce0f2
Compare
Choose a tag to compare

0.12.0 (2020-06-15)

Bug Fixes

  • Fix version string in SDK dist files (#1336) (e5bfe15)
  • Prevent stack overflow in portable fromCharCodes/CodePoints (#1340) (6dce0f2)

Code Refactoring

  • Rename dtoa/itoa_stream to dtoa/itoa_buffered & simplify them (#1339) (0e398c4)

BREAKING CHANGES

  • The internal dtoa/itoa_stream helpers (unsafe Number#toString) in util/number have been renamed to dtoa/itoa_buffered, don't take a redundant offset argument anymore, and the underlying core implementation helpers are no longer exposed. Usage now is: dtoa_buffered(buffer + byteOffset, value)

v0.11.0

14 Jun 00:26
2ec7133
Compare
Choose a tag to compare

0.11.0 (2020-06-14)

Code Refactoring

Features

BREAKING CHANGES

  • The values of ASC_TARGET have been flipped, with JS (portable) now being 0, WASM32 being 1 and WASM64 being 2.
  • The result of a ** binary operation is now the common denominator integer if both operands are integers. Previously, the result was a float as if calling Math/f.pow.

v0.10.2

13 Jun 22:13
085aa7f
Compare
Choose a tag to compare

From v0.10.2 onwards we are switching to automated semantic releases. This tag is otherwise identical to v0.10.1.

v0.10.1

12 Jun 01:26
Compare
Choose a tag to compare

New features

  • Added an experimental GC finalization hook to perform custom cleanup on free
  • Implemented radix argument on Number#toString
  • Allow disabling arbitrary globals with --use TheGlobal=
  • Emit a warning when exporting a generic element with no concrete instances
  • Implemented portable variants of TypedArray.wrap
  • Use node-like resolution instead of relative paths in asinit-generated tsconfigs, if possible
  • Updated Binaryen to latest incl. support for f32x4/f64x2.ceil/floor/trunc/nearest

Relevant fixes

  • Fixed Array#flat definitions
  • Improved error messages on unusual usages of void, null and undefined types
  • Fixed a resolver issue when calling function expressions
  • Disabled aggressive ARC optimizations due to a pending issue
  • Fixed a compiler issue when referencing variables in their own initializer
  • Fixed an assertion on accesses to variables that failed to compile earlier
  • Fixed Wasm module exports reference in asinit-generated index file

v0.10.0

15 May 00:18
Compare
Choose a tag to compare

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

v0.9.4

12 Mar 00:26
Compare
Choose a tag to compare

Relevant fixes

  • Fixed an unintended breaking compiler API change (affecting users of transforms).

v0.9.3

11 Mar 00:37
Compare
Choose a tag to compare

New features

  • Added StaticArray<T>, a more efficient array variant
  • Added support for context dependent sigma symbols to String#toLowerCase
  • Refactored the compiler so it can compile itself (binary is not yet runnable)
  • Added afterInitialize transform hook
  • Updated Binaryen to latest

Relevant fixes

  • Fixed various code generation, type propagation and resolver issues

v0.9.2

15 Feb 10:31
Compare
Choose a tag to compare

New features

  • Added a --tableBase CLI option (like --memoryBase, but for tables)
  • Added support for x instanceof GenericClass
  • Updated Binaryen to latest

Relevant fixes

  • Fixed null related edge cases when inferring array literals
  • Fixed several code generation issues
  • Aligned Map#set and Set#add with the spec, returning this
  • Fixed WASI import scheme to be wasi_snapshot_preview1

v0.9.1

30 Jan 00:38
Compare
Choose a tag to compare

Relevant fixes

  • Reverted exclusive use of the mutable __argumentsLength global introduced in 0.9.0 due to compatibility concerns with node < 12 and Safari. Exporting a __setArgumentsLength helper function for now. The loader has been updated to recognize both.

New features

  • Updated Binaryen to latest. Might be relevant for users of transforms, where the exact same version is required.
  • Command line options have been divided into categories to be easier to grasp, and documentation updated accordingly.