Skip to content

Releases: ocsigen/js_of_ocaml

4.0.0

24 Jan 22:55
Compare
Choose a tag to compare

CHANGES:

Features/Changes

  • Compiler: add --target-env flag, for JS runtime specific compilation targets (#1160).
  • Compiler: static evaluation of backend_type (#1166)
  • Compiler: speedup emitting js files (#1174)
  • Compiler: simplify (a | 0) >>> 0 into (a >>> 0) (#1177)
  • Compiler: improve static evaluation of cond (#1178)
  • Compiler: be more consistent dealing with js vs ocaml strings (#984)
  • Compiler: Compiler: add BigInt to provided symbols (fix #1168) (#1191)
  • Compiler: use globalThis, drop joo_global_object #1193
  • Compiler: new -Werror flag to turn wanrings into errors (#1222)
  • Compiler: make the inlining less agressive, reduce size, improve pref (#1220)
  • Compiler: rename internal library js_of_ocaml-compiler.runtime to js_of_ocaml-compiler.runtime-files
  • Lib: new runtime library to improve compatibility with Brr and gen_js_api
  • Lib: add messageEvent to Dom_html (#1164)
  • Lib: add PerformanceObserver API (#1164)
  • Lib: add CSSStyleDeclaration.{setProperty, getPropertyValue, getPropertyPriority, removeProperty} (#1170)
  • Lib: make window.{inner,outer}{Width,Height} non-optional
  • Lib: introduce Js_of_ocaml.Js_error module, deprecate Js_of_ocaml.Js.Error exception.
  • Lib: add deprecation warning for deprecated code
  • PPX: json can now be derived for mutable records (#1184)
  • Runtime: use crypto.getRandomValues when available (#1209)
  • Misc: move js_of_ocaml-ocamlbuild out to its own repo
  • Misc: add support for OCaml 4.14 (#1173)

Bug fixes

  • Compiler: fix sourcemap warning for empty cma (#1169)
  • Compiler: Strengthen bound checks. (#1172)
  • Compiler: fix --wrap-with-fun under node (#653, #1171)
  • Compiler: fix parsing of annotaions in js stubs (#1212, fix #1213)
  • Ppx: allow apostrophe in lident (fix #1183) (#1192)
  • Runtime: fix float parsing in hexadecimal form
  • Runtime: fix implementation of caml_js_instanceof
  • Graphics: fix mouse_{x,y} (#1206)

3.11.0

06 Oct 12:12
Compare
Choose a tag to compare

CHANGES:

Features/Changes

  • Compiler: setting tc_depth to 0 remove direct call from the tc optimization.
  • Lib: add hidden, onfullscreenchange and onwebkitfullscreenchange to document
  • Runtime: fixes for Windows, all tests pass
  • Runtime: make all windows drive available on nodejs.
  • Runtime: add support for Sys.mkdir and Sys.rmdir
  • Runtime: make stdin work on nodejs
  • Runtime: add support for Unix(stat,lstat,mkdir,rmdir,symlink,readlink,unlink,getuid) on nodejs.
  • Runtime: add caml_raise_with_args

Bug fixes

  • Compiler: fix toplevel generation (#1129, #1130, #1131)
  • Compiler: fix predefined exn id with separate compilation
  • Compiler: js stubs without 'Provides' should still allow 'Require'
  • Runtime: fix handling of uncaugh exceptions
  • Runtime: fix error handling of Sys.readdir
  • Dune: make git version lookup more resilient

3.10.0

30 Aug 10:03
Compare
Choose a tag to compare

CHANGES:

Features/Changes

  • Compiler: add support for OCaml 4.13
  • Compiler: new tool to check for missing primitives
  • Compiler: drop support for OCaml 4.03 and bellow
  • Lib: add offsetX and offsetY to Dom_html.mouseEvent
  • Lib: add innerText property for Dom_html
  • Runtime: add dummy implementation for many dummy primitives
  • Runtime: add runtime for new float operation in 4.13 #1113 (by pmwhite)

Misc

  • manual/rev_bindings.wiki: fix compilation error

3.9.1

17 Feb 13:58
Compare
Choose a tag to compare

CHANGES:

3.9.0

15 Feb 17:41
Compare
Choose a tag to compare

CHANGES:

Features/Changes

  • Lib: add clipboardEvent to Dom_html and update appropriate function signatures
  • Lib: add submitEvent to Dom_html and update appropriate function signatures
  • Compiler: complete support for OCaml 4.12
  • Lib: expose API to attached and retrieve js errors to/from ocaml exceptions
  • Lib: intersection observer API fixes

Bug fixes

  • Compiler: fix a segmentation fault when flat-float-array mode is disabled.

3.8.0

21 Oct 14:24
Compare
Choose a tag to compare

CHANGES:

Features/Changes

  • compiler, ppx_js, ppx_deriving_json: port PPX's to ppxlib (#1041)

3.7.1

29 Sep 13:13
Compare
Choose a tag to compare

CHANGES:

Features/Changes

  • lib: Add Navigator.{vendor,maxTouchPoints} (#1062)
  • lib: adds the intersection observer API (#1063)

Bug fixes

  • compiler: revert of "Eliminate allocation of dummy function #1013"
  • compiler: fix for #1051 (#1052), Ensure the overflow warning is always displayed
  • runtime: add missing primitives for 4.11
  • lib: Fix resize-observer (#1058)

3.7.0

05 Aug 17:39
Compare
Choose a tag to compare

CHANGES:

Features/Changes

  • Runtime: allow one to override xmlHttpRequest.create (#1002)
  • Runtime: Change the semantic of MlBytes.toString, introduce MlBytes.toUtf16
  • Compiler: initial support for OCaml 4.11
  • Compiler: initial support for OCaml 4.12
  • Compiler: improve the javascript parser by relying on menhir
    incremental api.
  • Compiler: Eliminate allocation of dummy function #1013

Bug fixes

  • Compiler: fix code generation for recursive function under for-loops (#1009)
  • Compiler: the jsoo compiler compiled to javascript was not behaving correctly
    when parsing constant in the from the bytecode
  • Compiler: make sure inline doesn't loop indefinitly (#1043)
  • Compiler: fix bug generating invalid javascript for if-then construct (#1046)
  • Compiler: do not use polymorphic comparison when joining float values (#1048)
  • Lib: Rename msg to message in Worker (#1037)
  • Lib: fix graphics_js when build with separate compilation (#1029)

3.6.0

26 Apr 14:16
Compare
Choose a tag to compare

Features/Changes

  • Compiler: change compilation scheme for branches (#948)
  • Compiler: Introduce sub-command: link, build-runtime, build-fs (#987)
  • Compiler: embed javascript runtime in the compiler (#978)
  • Compiler: refactor javascript lexer/parser, add tests (#986)
  • Runtime: clean runtime for string vs bytes
  • Runtime: remove many old polyfill
  • Runtime: add unix_isatty
  • Runtime: optimize caml_call_gen (#996)
  • Runtime: change representation of int64 (#905)
  • Runtime: improve node.js backend for Sys.command (#979)
  • Runtime: add javascript runtime for Str (#998)
  • Lib: add closest method to element (#930)
  • Lib: add several methods and functions to Typed_array (#970)
  • Ppx: ppx_js behave better with merlin (#933)
  • Misc: Cleanup Meta files (e.g. js_of_ocaml.tyxml is no longer valid library name)
  • Misc: switch to ocamlformat.0.14

Bug fixes

  • Compiler: fix vardecl optim (#946)
  • Compiler: restore optimization when generating if statements
  • Compiler: fix javascript parser in the presence of line directives (#980)
  • Runtime: Catch nodejs errors and re-raise them as Sys_error
  • Runtime: fix caml_parse_sign_and_base and unsigned syntax
  • Runtime: fix caml_js_wrap_meth_callback_strict (#996)
  • Runtime: fix over-application of javascript callback (#996)
  • Runtime: fix partial-application of javascript callback (#996)
  • Runtime: fic caml_js_wrap_meth_callback_unsafe (#996)
  • Lib: Fix the type of blur and focus event to be focusEvent (#929)

3.5.2

14 Dec 06:22
Compare
Choose a tag to compare

CHANGES:

Features/Changes

  • Misc: support for ocaml 4.10
  • Misc: ppx_deriving_json uses ppxlib >= 0.9

Bug fixes

  • Runtime: fix pseudo fs initialization (#931)