Releases: ocsigen/js_of_ocaml
Releases · ocsigen/js_of_ocaml
4.0.0
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
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
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
3.9.0
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
3.7.1
CHANGES:
Features/Changes
Bug fixes
3.7.0
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
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)