Skip to content

Releases: AssemblyScript/assemblyscript

v0.26.0

07 Jan 01:25
Compare
Choose a tag to compare

Breaking changes

  • Add LUB computation for class types (#2594) (4b3b390)
    Binary and ternary expressions now compute and evaluate to the least upper bound of two not identical class type inputs in the absence of a better fitting contextual type. Technically a breaking change, yet likely without noticeable effects on existing code.

Bug fixes

  • Defuse assert in lookupPropertyAccessExpression after prior error (82812de)
  • Support trailing comma in function type parameters (#2608) (1ff71e5)

Other

v0.25.2

23 Dec 01:24
7a35ff8
Compare
Choose a tag to compare

New features

  • Add --uncheckedBehavior to customize the use of unchecked() (#2575) (7a35ff8)

Bug fixes

  • Fix lifetime confusion in shadow stack pass (#2596) (d3410f4)

Other

v0.25.1

15 Dec 01:38
1d0451a
Compare
Choose a tag to compare

Bug fixes

  • Use constructor signature for class decorators (#2587) (1d0451a)
  • Do proper subtype tests in instanceof (#2588) (78b3260)

Other

  • Remove unchecked indexed set on normal arrays (#2586) (b3cffa3)

v0.25.0

06 Dec 01:27
378659a
Compare
Choose a tag to compare

Breaking changes

  • Fix variable initialization checks / revise flow logic (#2578) (6717de0)
    Initialization of global variables sometimes wasn't guaranteed before, allowing unsafe behavior if initialization indeed wasn't performed before access. To mitigate, variables from now on require either an initializer, a primitive type with a trivial default value (typically 0), a nullable type (if a reference, defaulting to null) or otherwise annotation with definitive assignment (i.e. let someObject!: ..., then inserting a runtime check upon access).

Other

v0.24.1

17 Nov 01:52
8ae086d
Compare
Choose a tag to compare

Bug fixes

  • Bindings: Expect memory growth when lowering references (#2568) (8ae086d)
  • Defuse assert in finishResolveClass (#2567) (cb982b1)

v0.24.0

15 Nov 01:52
688dcd2
Compare
Choose a tag to compare

Breaking changes

  • Implicitly inherit from Object (#2559) (688dcd2)
    Constant class ids of String, ArrayBuffer etc. moved one value up, with Object now represented by ID=0.

v0.23.1

13 Nov 01:54
a71f649
Compare
Choose a tag to compare

Bug fixes

v0.23.0

12 Nov 01:56
a150a49
Compare
Choose a tag to compare

Breaking changes

  • Remove no longer used half of RTTI (#2555) (a565d73)
    RTTI at __rtti_base no longer contains base class ids and now is just type flags.
  • Make class fields a special kind of property (#2548) (0fd4db2)
    Element kinds FIELD and FIELD_PROTOTYPE and elements Field and FieldPrototype have been removed. Instead, Property inherit previous Field functionality, indicated by property.isField.

Other

v0.22.0

24 Oct 02:40
a7d10ba
Compare
Choose a tag to compare

Breaking changes

  • Refactor enum identifiers to TitleCase and apply some changes in AST nodes (#2501) (a7d10ba)

Other

  • Report full path when custom runtime is not found (#2538) (0d39f0f)
  • Remove local sharing logic (#2540) (8bb4fae)
  • Implement preliminary creation of Wasm GC types (#2537) (78b2d1a)

v0.21.7

21 Oct 02:00
a2c1c97
Compare
Choose a tag to compare

Bug fixes

  • Make field types invariant to guarantee soundness (#2539) (ee6a165)

Other

  • Ensure function locals are not in closures (#2533) (a2c1c97)
  • Implement non-/nullable type refs in type conversion (#2535) (7bc3b57)