Skip to content

Releases: ocsigen/js_of_ocaml

5.7.2

03 Apr 14:39
0df746b
Compare
Choose a tag to compare

CHANGES:

Bug fixes

  • Runtime: add missing primitives for ocaml 5.2.0~beta1

5.7.1

05 Mar 15:05
eb987e0
Compare
Choose a tag to compare

CHANGES:

Features/Changes

  • Compiler: only flush the necessary env for closures (#1568)
  • Library: dialog element support

Bug fixes

  • Compiler: fix --enable=vardecl
  • Compiler: fix parallel renaming (bug introduced in #1567)
  • Lib: fix paragraph construction and coercion
  • Runtime: reduce memory leak with channels (#1581)

5.7.0

21 Feb 23:39
ca84344
Compare
Choose a tag to compare

CHANGES:

Features/Changes

  • Mics: fix support for OCaml 5.2
  • Compiler: no longer rely on IIFE for scoping variable inside loops
  • Compiler: avoid parsing bytecode sections twice, jsoo counter part of ocaml#12599
  • Lib: add ellipse to canvasRenderingContext2D (@FayCarsons, #1555)

Bug fixes

  • Compiler: fix global dead code elimination in a toplevel context
  • Compiler: fix exit-loop-early optim in presence of closure (#1561)
  • Compiler: remove quadratic behavior in generate.ml (#1531, #1567)

5.6.0

02 Jan 20:53
b9c9a4b
Compare
Choose a tag to compare

CHANGES:

Features/Changes

  • Compiler: try to preserve clorures ordering between ml and js
  • Compiler: js-parser accept for await

Bug fixes

  • Compiler: js-parser now accept all the line terminators defined in the spec
  • Compiler: js-parser: fix support for LHS assignment target
  • Compiler: js-parser: fix parser of default export
  • Compiler: js-parser: allow 'as' as ident
  • Compiler: js-parser: fix for-in rewriting
  • Compiler: js-parser: fix yield pretty print
  • Compiler: js-parser: fix async arrow function
  • Compiler: js-parser: fix class printing
  • Compiler: js-parser: fix #privateName

5.5.2

05 Dec 14:30
ba5d826
Compare
Choose a tag to compare

CHANGES:

Features/Changes

  • Compiler: global dead code elimination (Micah Cantor, #1503)
  • Compiler: change control-flow compilation strategy (#1496)
  • Compiler: loop no longer absorb the whole continuation
  • Compiler: Dead code elimination of unused references (#2076)
  • Compiler: reduce memory consumption (#1516)
  • Compiler: support for import and export construct in the js parser/printer
  • Lib: add download attribute to anchor element
  • Misc: switch CI to OCaml 5.1
  • Misc: preliminary support for OCaml 5.2
  • Misc: support for OCaml 5.1.1

Bug fixes

  • Runtime: fix Dom_html.onIE (#1493)
  • Runtime: add conversion functions + strict equality for compatibility with Wasm_of_ocaml (#1492)
  • Runtime: Dynlink should be able to find symbols in jsoo_runtime #1517
  • Runtime: fix Unix.lstat, Unix.LargeFile.lstat (#1519)
  • Compiler: fix global flow analysis (#1494)
  • Compiler: fix js parser/printer wrt async functions (#1515)
  • Compiler: fix free variables pass wrt parameters' default value (#1521)
  • Compiler: fix free variables for classes
  • Compiler: fix internal invariant (continuation)
  • Compiler: fix variable renaming for let, const and classes
  • Lib: Url.Current.set_fragment need not any urlencode (#1497)

5.5.1

04 Dec 07:38
922b472
Compare
Choose a tag to compare

CHANGES:

Features/Changes

  • Compiler: global dead code elimination (Micah Cantor, #1503)
  • Compiler: change control-flow compilation strategy (#1496)
  • Compiler: loop no longer absorb the whole continuation
  • Compiler: Dead code elimination of unused references (#2076)
  • Compiler: reduce memory consumption (#1516)
  • Compiler: support for import and export construct in the js parser/printer
  • Lib: add download attribute to anchor element
  • Misc: switch CI to OCaml 5.1
  • Misc: preliminary support for OCaml 5.2
  • Misc: support for OCaml 5.1.1

Bug fixes

  • Runtime: fix Dom_html.onIE (#1493)
  • Runtime: add conversion functions + strict equality for compatibility with Wasm_of_ocaml (#1492)
  • Runtime: Dynlink should be able to find symbols in jsoo_runtime #1517
  • Runtime: fix Unix.lstat, Unix.LargeFile.lstat (#1519)
  • Compiler: fix global flow analysis (#1494)
  • Compiler: fix js parser/printer wrt async functions (#1515)
  • Compiler: fix free variables pass wrt parameters' default value (#1521)
  • Compiler: fix free variables for classes
  • Compiler: fix internal invariant (continuation)
  • Compiler: fix variable renaming for let, const and classes
  • Lib: Url.Current.set_fragment need not any urlencode (#1497)

5.5.0

01 Dec 20:10
dc36c33
Compare
Choose a tag to compare

CHANGES:

Features/Changes

  • Compiler: global dead code elimination (Micah Cantor, #1503)
  • Compiler: change control-flow compilation strategy (#1496)
  • Compiler: loop no longer absorb the whole continuation
  • Compiler: Dead code elimination of unused references (#2076)
  • Compiler: reduce memory consumption (#1516)
  • Compiler: support for import and export construct in the js parser/printer
  • Lib: add download attribute to anchor element
  • Misc: switch CI to OCaml 5.1
  • Misc: preliminary support for OCaml 5.2
  • Misc: support for OCaml 5.1.1

Bug fixes

  • Runtime: fix Dom_html.onIE (#1493)
  • Runtime: add conversion functions + strict equality for compatibility with Wasm_of_ocaml (#1492)
  • Runtime: Dynlink should be able to find symbols in jsoo_runtime #1517
  • Runtime: fix Unix.lstat, Unix.LargeFile.lstat (#1519)
  • Compiler: fix global flow analysis (#1494)
  • Compiler: fix js parser/printer wrt async functions (#1515)
  • Compiler: fix free variables pass wrt parameters' default value (#1521)
  • Compiler: fix free variables for classes
  • Compiler: fix internal invariant (continuation)
  • Compiler: fix variable renaming for let, const and classes
  • Lib: Url.Current.set_fragment need not any urlencode (#1497)

5.4.0

06 Jul 09:09
Compare
Choose a tag to compare

CHANGES:

Bug fixes

  • Runtime: Fix recursive modules on ocaml < 4.13 (#1485)
  • Runtime: fix hashing of NaN (#1475)
  • Runtime: float rounding should resolve tie away from zero (#1475)
  • Runtime: fix Gc.stat, Gc.quick_stat, Gc.get (#1475)
  • Compiler: fix some miscompilation, probably introduced in jsoo 5.0.0,
    revealed by OCaml 5.0

5.3.0

21 Jun 08:38
7b2929f
Compare
Choose a tag to compare

CHANGES:

Features/Changes

  • Misc: Bump magic number for ocaml 5.1
  • Misc: changes to stay compatible with the next version of ppx_expect
  • Runtime: support conversion of Uint8ClampedArray typed arrays to bigarrays (#1472)

Bug fixes

  • Compiler: fix location for parsing errors when last token is a virtual semicolon
  • Compiler: fix variable renaming with nested const/let decl with identical names
  • Compiler: fix variable renaming inside js method
  • Compiler: consise body should allow any expression but object literals
  • Compiler: preserve [new] without arguments [new C] (vs [new C()]
  • Compiler: remove invalid rewriting of js (#1471, #1469)
  • Runtime: fix int32 values returned from bigarrays when wrapping Uint32Array objects (#1472)

5.2.0

28 Apr 10:25
Compare
Choose a tag to compare

CHANGES:

Features/Changes

  • Compiler: jsoo link archive with -a (#1428)

Bug fixes

  • Compiler: put custom header at the top of the output file (fix #1441)
  • Compiler (js parser): fix parsing of js labels (fix #1440)
  • Compiler: fix simplification of js with let and const
  • Compiler: reduce memory consumption when parsing js
  • Compiler: parsing js can return a list of token, the list was sometime incorrect
  • Sourcemap: stop producing sourcemaps mappings with negative lines or columns
  • Runtime: fix marshalling with sharing and string (use-js-string)