Skip to content

Latest commit

 

History

History
527 lines (299 loc) · 30.9 KB

CHANGELOG.md

File metadata and controls

527 lines (299 loc) · 30.9 KB

Changelog

0.24.0 (2023-10-30)

⚠ BREAKING CHANGES

  • Update to libbinaryen v114 (#198)

Features

0.23.0 (2023-09-27)

⚠ BREAKING CHANGES

  • Remove type_system
  • Remove string_new_replace operation
  • Remove string_new_replace_array operation
  • Upgrade to libbinaryen v113 (#194)

Features

  • Add string_encode_lossy_utf8_array operation (7d222e0)
  • Add string_encode_lossy_utf8 operation (7d222e0)
  • Add string_new_lossy_utf8_array operation (7d222e0)
  • Add string_new_lossy_utf8 operation (7d222e0)
  • Upgrade to libbinaryen v113 (#194) (7d222e0)

Miscellaneous Chores

  • Remove string_new_replace_array operation (7d222e0)
  • Remove string_new_replace operation (7d222e0)
  • Remove type_system (7d222e0)

0.22.0 (2023-09-14)

⚠ BREAKING CHANGES

  • Rename dataref to structref
  • Rename data to struct_ in Heap_type
  • Remove equirecursive in Type_system
  • Properly resolve ops externals to their type
  • Replace Expression.Ref.is with Expression.Ref.is_null
  • Remove Ops that no longer exist in Binaryen
  • Upgrade to libbinaryen v112 (#188)

Features

  • Add i31 expressions (46c97c2)
  • Add new Binaryen ops (46c97c2)
  • Add new optimization passes (46c97c2)
  • Replace Expression.Ref.is with Expression.Ref.is_null (46c97c2)
  • Upgrade to libbinaryen v112 (#188) (46c97c2)

Bug Fixes

  • Properly resolve ops externals to their type (46c97c2)

Miscellaneous Chores

  • Remove equirecursive in Type_system (46c97c2)
  • Remove Ops that no longer exist in Binaryen (46c97c2)
  • Rename data to struct_ in Heap_type (46c97c2)
  • Rename dataref to structref (46c97c2)

0.21.0 (2023-07-04)

⚠ BREAKING CHANGES

  • Remove typed_function_reference feature which was removed in Binaryen
  • Add memory64 flag to Memory.set_memory
  • Upgrade to libbinaryen v111 (#184)

Features

  • Add array, none, noext, and nofunc heap types (f1c9fd7)
  • Add arrayref, nullref, null_externref, and null_funcref types (f1c9fd7)
  • Add is_64 check for memory (f1c9fd7)
  • Add memory64 flag to Memory.set_memory (f1c9fd7)
  • Add multi_memories module feature (f1c9fd7)
  • Add new BinaryenOps (f1c9fd7)
  • Add new optimization passes (f1c9fd7)
  • Add operations on array types (f1c9fd7)
  • Add operations on heap types (f1c9fd7)
  • Add operations on signature types (f1c9fd7)
  • Add operations on struct types (f1c9fd7)
  • Upgrade to libbinaryen v111 (#184) (f1c9fd7)
  • Widen version range for js_of_ocaml (f1c9fd7)

Miscellaneous Chores

  • Remove typed_function_reference feature which was removed in Binaryen (f1c9fd7)

0.20.1 (2023-01-19)

Features

Bug Fixes

  • Properly handle load & store instructions in JS (#178) (becd3b8)

0.20.0 (2023-01-13)

⚠ BREAKING CHANGES

  • Require dune 3.0 to better support js_of_ocaml
  • Update memory operations to require memory name
  • Remove RttCanon and RttSub expression kinds
  • Add optimize argument to StackIR emitting functions
  • Require js_of_ocaml 4.1 to ensure optimization fix
  • Upgrade to libbinaryen v110 (#173)
  • Properly accept the size argument to Memory_init.make (#171)

Features

  • Add functions for converting between Types and Heap Types (474e5cd)
  • Add operations on Heap Types (474e5cd)
  • Add operations on Packed Types (474e5cd)
  • Add operations on the Type System (474e5cd)
  • Add optimize argument to StackIR emitting functions (474e5cd)
  • Add Stringref and Stringview Types (474e5cd)
  • Add strings feature (474e5cd)
  • Support querying data segments (#176) (5a6141c)
  • Update memory operations to require memory name (474e5cd)
  • Upgrade to libbinaryen v110 (#173) (474e5cd)

Bug Fixes

  • Properly accept the size argument to Memory_init.make (#171) (9ea20fe)

Miscellaneous Chores

  • Remove RttCanon and RttSub expression kinds (474e5cd)
  • Require dune 3.0 to better support js_of_ocaml (474e5cd)
  • Require js_of_ocaml 4.1 to ensure optimization fix (474e5cd)

0.19.0 (2022-11-19)

⚠ BREAKING CHANGES

  • Upgrade to libbinaryen v109 (#165)

Features

  • Add Import.memory_import_get_module and Import.memory_import_get_base functions (b584500)
  • Add function to print StackIR (b584500)
  • Add function to write StackIR (b584500)
  • Add gsi & spill_pointers passes (b584500)
  • Add operations on memory (b584500)
  • Upgrade to libbinaryen v109 (#165) (b584500)

0.18.0 (2022-07-05)

⚠ BREAKING CHANGES

  • Remove externref type
  • Update to libbinaryen v108 (#163)
  • Support passive memory segments (#158) (21857f7)

Features

  • Add anyref type as replacement for externref type (f0c7d7e)
  • Add eqref, i31ref, and dataref types (#162) (b6808ee)
  • Remove externref type (f0c7d7e)
  • Support passive memory segments (#158) (21857f7)
  • Update to libbinaryen v108 (#163) (f0c7d7e)

Bug Fixes

  • Convert JSOO lists to JS arrays before working with them (#161) (e4931f0)

0.17.1 (2022-06-11)

Bug Fixes

0.17.0 (2022-05-11)

⚠ BREAKING CHANGES

  • Update libbinaryen to 107 (#152)

Features

0.16.0 (2022-05-11)

⚠ BREAKING CHANGES

  • Restrict OCaml < 4.14 temporarily
  • Update libbinaryen to 106 (#151)
  • Expression.Return.get_value can be null (#149)

Features

Bug Fixes

  • Expression.Return.get_value can be null (#149) (559341d)

Miscellaneous Chores

  • Restrict OCaml < 4.14 temporarily (453b9de)

0.15.0 (2022-03-16)

⚠ BREAKING CHANGES

  • Rename segment name to data (#146)
  • Add Passes module & require Passes.t in Module.run_passes (#145)
  • Remove virtual modules
  • Remove the "jsoo hack" API
  • Update libbinaryen to v105 (#142)

Features

  • Add Passes module & require Passes.t in Module.run_passes (#145) (c3e751c)
  • Remove the "jsoo hack" API (3c81209)
  • Remove unneeded js_of_ocaml & js_of_ocaml-ppx deps (3c81209)
  • Remove virtual modules (3c81209)
  • Rename segment name to data (#146) (d55e577)
  • Rewrite JS bindings as js_of_ocaml externals (3c81209)
  • Update libbinaryen to v105 (#142) (3c81209)

Bug Fixes

  • Make memory segments work with js_of_ocaml (3c81209)

0.14.1 (2022-03-08)

Bug Fixes

0.14.0 (2022-03-04)

⚠ BREAKING CHANGES

  • Update libbinaryen to v104 (#138)

Features

0.13.0 (2022-02-07)

Features

  • Add all Module.Features that were missing (09c5d30)
  • Add functions for ref & table expressions (09c5d30)
  • Upgrade to libbinaryen v103 (#134) (09c5d30)

Miscellaneous Chores

  • Use a upload-release-action that works (97dbcdc)

0.12.1 (2022-02-03)

Features

Bug Fixes

  • Restrict js_of_ocaml to version 3 (fa39480)

Miscellaneous Chores

0.12.0 (2022-01-26)

⚠ BREAKING CHANGES

  • Add table type to add_table signature
  • Rename Event to Tag to match Binaryen

Features

  • Add table type to add_table signature (5c50272)
  • Add update_maps function that Binaryen added (5c50272)
  • Rename Event to Tag to match Binaryen (5c50272)
  • Upgrade to libbinaryen v102 (#120) (5c50272)

0.11.2 (2022-01-24)

Bug Fixes

  • Handle JS global in non-node environments (#125) (74e94fe)

0.11.1 (2022-01-16)

Bug Fixes

0.11.0 (2022-01-13)

⚠ BREAKING CHANGES

  • Mention implicit python dependency in the docs
  • Switch to libbinaryen dependency (#113)
  • Remove MacOS-specific library flags (#111)
  • Require OCaml 4.12 (#108)

Features

Miscellaneous Chores

  • Mention implicit python dependency in the docs (59874ce)

0.10.0 (2021-05-09)

⚠ BREAKING CHANGES

  • Move expressions into namespaces
  • Move element segment into own module
  • Move Features into Module.Feature
  • Create Settings modules & move global functions
  • Convert some Settings from ints to bools
  • Remove SIMD methods that Binaryen replaced
  • Upgrade Binaryen to v101 (#99)

Features

  • Add Module.get_features (3de1b28)
  • Add Type.expandType (3de1b28)
  • Add operations on element segments (3de1b28)
  • Add operations on exports (3de1b28)
  • Add operations on expressions (3de1b28)
  • Add operations on functions (3de1b28)
  • Add operations on globals (3de1b28)
  • Add operations on imports (3de1b28)
  • Add support for reference types (#101) (5058492)
  • Build vendored Binaryen with GCC 7 instead of 9 (3de1b28)
  • Convert some Settings from ints to bools (3de1b28)
  • Create Settings modules & move global functions (3de1b28)
  • Move Features into Module.Feature (3de1b28)
  • Move element segment into own module (3de1b28)
  • Move expressions into namespaces (3de1b28)
  • Upgrade Binaryen to v101 (#99) (3de1b28)

Miscellaneous Chores

  • Remove SIMD methods that Binaryen replaced (3de1b28)

0.9.1 (2021-04-02)

Bug Fixes

  • Correct JS conversion of i64 & float64_bits literals (#96) (00b7093)

0.9.0 (2021-03-17)

Features

  • add Function_table.unlimited constant (#87) (0d2fcde)
  • write bindings for add_table (6dc0fa8)

Bug Fixes

  • js: cast the call_indirect string arguments to JS strings (7b4136a)
  • js: utilize JSOO externals to convert between uint8array & bytes (#85) (61d28c5)
  • return JS null value from Expression.null (#83) (61861e2)

Miscellaneous Chores

  • fix formatter & format the code (#80) (b9c485a)
  • set dune language to the version of dune we use (e9eb5c9)
  • use test file directly in one rule so ocaml-lsp works (34b7a13)

Documentation

  • cleanup Binaryen submodule & building language (closes #65) (3bdb23d)

0.8.1 (2021-03-09)

Bug Fixes

Continuous Integration

  • write opam CHANGES from environment var (#78) (4f25e0e)

0.8.0 (2021-03-05)

⚠ BREAKING CHANGES

  • Table name must now be provided to the Expression.call_indirect and Expression.return_call_indirect instructions.

Features

Continuous Integration

  • fix markdown escaping for opam release (#72) (a2e6052)

Miscellaneous Chores

0.7.0 (2021-02-24)

⚠ BREAKING CHANGES

  • memory_size and memory_grow are now toplevel functions in Expression.
  • removed Type.nullref, Type.exnref
  • removed Op.any_true_vec_i64x2 and Op.all_true_vec_i64x2
  • Bump to Binaryen 98

Features

Continuous Integration

  • add opam & npm releases to workflow (#69) (d339608)
  • run opam build on ubuntu 18 instead of 20 (#67) (7ee2009)

Miscellaneous Chores

  • memory_size and memory_grow are now toplevel functions in Expression. (9a52a07)
  • removed Op.any_true_vec_i64x2 and Op.all_true_vec_i64x2 (9a52a07)
  • removed Type.nullref, Type.exnref (9a52a07)

0.6.0 (2021-01-24)

Features

0.5.0 (2021-01-12)

Features

  • Allow optional return_type parameter when creating blocks (ab737bd)

Bug Fixes

  • add arch & os restrictions for opam (#41) (421b45d)
  • provide type to select instruction (#46) (2096a3c)

Documentation

  • add section about static linking (#37) (f9afda1)

Miscellaneous Chores

  • Add --no-browser flag to opam-publish (#43) (f47f2bb)
  • Switch back to official setup-opam action (#44) (f4338bd)

Continuous Integration